Package org.apache.poi.openxml4j.util
Class ZipInputStreamZipEntrySource
- java.lang.Object
-
- org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,ZipEntrySource
public class ZipInputStreamZipEntrySource extends java.lang.Object implements ZipEntrySource
Provides a way to get at all the ZipEntries from a ZipInputStream, as many times as required. Allows a ZipInputStream to be treated much like a ZipFile, for a price in terms of memory. Be sure to callclose()
as soon as you're done, to free up that memory!
-
-
Constructor Summary
Constructors Constructor Description ZipInputStreamZipEntrySource(ZipArchiveThresholdInputStream inp)
Reads all the entries from the ZipInputStream into memory, and don't close (since POI 4.0.1) the source stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Indicates we are done with reading, and resources may be freedjava.util.Enumeration<? extends ZipArchiveEntry>
getEntries()
Returns an Enumeration of all the EntriesZipArchiveEntry
getEntry(java.lang.String path)
Return an entry by its pathjava.io.InputStream
getInputStream(ZipArchiveEntry zipEntry)
Returns an InputStream of the decompressed data that makes up the entryboolean
isClosed()
Has close been called already?
-
-
-
Constructor Detail
-
ZipInputStreamZipEntrySource
public ZipInputStreamZipEntrySource(ZipArchiveThresholdInputStream inp) throws java.io.IOException
Reads all the entries from the ZipInputStream into memory, and don't close (since POI 4.0.1) the source stream. We'll then eat lots of memory, but be able to work with the entries at-will.- Throws:
java.io.IOException
-
-
Method Detail
-
getEntries
public java.util.Enumeration<? extends ZipArchiveEntry> getEntries()
Description copied from interface:ZipEntrySource
Returns an Enumeration of all the Entries- Specified by:
getEntries
in interfaceZipEntrySource
-
getInputStream
public java.io.InputStream getInputStream(ZipArchiveEntry zipEntry)
Description copied from interface:ZipEntrySource
Returns an InputStream of the decompressed data that makes up the entry- Specified by:
getInputStream
in interfaceZipEntrySource
-
close
public void close()
Description copied from interface:ZipEntrySource
Indicates we are done with reading, and resources may be freed- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceZipEntrySource
-
isClosed
public boolean isClosed()
Description copied from interface:ZipEntrySource
Has close been called already?- Specified by:
isClosed
in interfaceZipEntrySource
-
getEntry
public ZipArchiveEntry getEntry(java.lang.String path)
Description copied from interface:ZipEntrySource
Return an entry by its path- Specified by:
getEntry
in interfaceZipEntrySource
- Parameters:
path
- the path in unix-notation- Returns:
- the entry or
null
if not found
-
-