Class FramedLZ4CompressorInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.compress.compressors.CompressorInputStream
org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorInputStream
All Implemented Interfaces:
Closeable, AutoCloseable, InputStreamStatistics

public class FramedLZ4CompressorInputStream extends CompressorInputStream implements InputStreamStatistics
CompressorInputStream for the LZ4 frame format.

Based on the "spec" in the version "1.5.1 (31/03/2015)"

Since:
1.14
See Also:
  • Constructor Details

    • FramedLZ4CompressorInputStream

      public FramedLZ4CompressorInputStream(InputStream in) throws IOException
      Creates a new input stream that decompresses streams compressed using the LZ4 frame format and stops after decompressing the first frame.
      Parameters:
      in - the InputStream from which to read the compressed data
      Throws:
      IOException - if reading fails
    • FramedLZ4CompressorInputStream

      public FramedLZ4CompressorInputStream(InputStream in, boolean decompressConcatenated) throws IOException
      Creates a new input stream that decompresses streams compressed using the LZ4 frame format.
      Parameters:
      in - the InputStream from which to read the compressed data
      decompressConcatenated - if true, decompress until the end of the input; if false, stop after the first LZ4 frame and leave the input position to point to the next byte after the frame stream
      Throws:
      IOException - if reading fails
  • Method Details

    • matches

      public static boolean matches(byte[] signature, int length)
      Checks if the signature matches what is expected for a .lz4 file.

      .lz4 files start with a four byte signature.

      Parameters:
      signature - the bytes to check
      length - the number of bytes to check
      Returns:
      true if this is a .sz stream, false otherwise
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InputStream
      Throws:
      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
    • read

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

      public int read(byte[] b, int off, int len) throws IOException
      Overrides:
      read in class InputStream
      Throws:
      IOException