Class 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 call close() as soon as you're done, to free up that memory!
    • 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 freed
      java.util.Enumeration<? extends org.apache.commons.compress.archivers.zip.ZipArchiveEntry> getEntries()
      Returns an Enumeration of all the Entries
      org.apache.commons.compress.archivers.zip.ZipArchiveEntry getEntry​(java.lang.String path)
      Return an entry by its path
      java.io.InputStream getInputStream​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipEntry)
      Returns an InputStream of the decompressed data that makes up the entry
      boolean isClosed()
      Has close been called already?
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 org.apache.commons.compress.archivers.zip.ZipArchiveEntry> getEntries()
        Description copied from interface: ZipEntrySource
        Returns an Enumeration of all the Entries
        Specified by:
        getEntries in interface ZipEntrySource
      • getInputStream

        public java.io.InputStream getInputStream​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipEntry)
        Description copied from interface: ZipEntrySource
        Returns an InputStream of the decompressed data that makes up the entry
        Specified by:
        getInputStream in interface ZipEntrySource
      • close

        public void close()
        Description copied from interface: ZipEntrySource
        Indicates we are done with reading, and resources may be freed
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface ZipEntrySource
      • getEntry

        public org.apache.commons.compress.archivers.zip.ZipArchiveEntry getEntry​(java.lang.String path)
        Description copied from interface: ZipEntrySource
        Return an entry by its path
        Specified by:
        getEntry in interface ZipEntrySource
        Parameters:
        path - the path in unix-notation
        Returns:
        the entry or null if not found