Class ZipInputStreamZipEntrySource

  • All Implemented Interfaces:
    Closeable, AutoCloseable, ZipEntrySource

    public class ZipInputStreamZipEntrySource
    extends 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 Detail

      • setThresholdBytesForTempFiles

        public static void setThresholdBytesForTempFiles​(int thresholdBytes)
        Set the threshold at which a zip entry is regarded as too large for holding in memory and the data is put in a temp file instead
        Parameters:
        thresholdBytes - number of bytes at which a zip entry is regarded as too large for holding in memory and the data is put in a temp file instead - defaults to -1 meaning temp files are not used and that zip entries with more than 2GB of data after decompressing will fail, 0 means all zip entries are stored in temp files. A threshold like 50000000 (approx 50Mb is recommended)
        Since:
        POI 5.1.0
        See Also:
        setEncryptTempFiles(boolean)
      • getThresholdBytesForTempFiles

        public static int getThresholdBytesForTempFiles()
        Get the threshold at which it a zip entry is regarded as too large for holding in memory and the data is put in a temp file instead (defaults to -1 meaning temp files are not used)
        Returns:
        threshold in bytes
        Since:
        POI 5.1.0
      • setEncryptTempFiles

        public static void setEncryptTempFiles​(boolean encrypt)
        Encrypt temp files when they are used. Only affects temp files related to zip entries.
        Parameters:
        encrypt - whether temp files should be encrypted
        Since:
        POI 5.1.0
        See Also:
        setThresholdBytesForTempFiles(int)
      • shouldEncryptTempFiles

        public static boolean shouldEncryptTempFiles()
        Whether temp files should be encrypted (default false). Only affects temp files related to zip entries.
        Since:
        POI 5.1.0
      • getEntries

        public 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
      • getEntry

        public org.apache.commons.compress.archivers.zip.ZipArchiveEntry getEntry​(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