Class XZCompressorInputStream

    • Constructor Summary

      Constructors 
      Constructor Description
      XZCompressorInputStream​(java.io.InputStream inputStream)
      Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
      XZCompressorInputStream​(java.io.InputStream inputStream, boolean decompressConcatenated)
      Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
      XZCompressorInputStream​(java.io.InputStream inputStream, boolean decompressConcatenated, int memoryLimitInKb)
      Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
    • Constructor Detail

      • XZCompressorInputStream

        public XZCompressorInputStream​(java.io.InputStream inputStream)
                                throws java.io.IOException
        Creates a new input stream that decompresses XZ-compressed data from the specified input stream. This doesn't support concatenated .xz files.
        Parameters:
        inputStream - where to read the compressed data
        Throws:
        java.io.IOException - if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlying inputStream throws an exception
      • XZCompressorInputStream

        public XZCompressorInputStream​(java.io.InputStream inputStream,
                                       boolean decompressConcatenated)
                                throws java.io.IOException
        Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
        Parameters:
        inputStream - where to read the compressed data
        decompressConcatenated - if true, decompress until the end of the input; if false, stop after the first .xz stream and leave the input position to point to the next byte after the .xz stream
        Throws:
        java.io.IOException - if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlying inputStream throws an exception
      • XZCompressorInputStream

        public XZCompressorInputStream​(java.io.InputStream inputStream,
                                       boolean decompressConcatenated,
                                       int memoryLimitInKb)
                                throws java.io.IOException
        Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
        Parameters:
        inputStream - where to read the compressed data
        decompressConcatenated - if true, decompress until the end of the input; if false, stop after the first .xz stream and leave the input position to point to the next byte after the .xz stream
        memoryLimitInKb - memory limit used when reading blocks. If the estimated memory limit is exceeded on read(), a MemoryLimitException is thrown.
        Throws:
        java.io.IOException - if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlying inputStream throws an exception
        Since:
        1.14
    • Method Detail

      • matches

        public static boolean matches​(byte[] signature,
                                      int length)
        Checks if the signature matches what is expected for a .xz file.
        Parameters:
        signature - the bytes to check
        length - the number of bytes to check
        Returns:
        true if signature matches the .xz magic bytes, false otherwise
      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] buf,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.InputStream
        Throws:
        java.io.IOException
      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.InputStream
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.InputStream
        Throws:
        java.io.IOException
      • getCompressedCount

        public long getCompressedCount()
        Specified by:
        getCompressedCount in interface InputStreamStatistics
        Returns:
        the amount of raw or compressed bytes read by the stream
        Since:
        1.17