Class BZip2CompressorInputStream

java.lang.Object
java.io.InputStream
org.jboss.shrinkwrap.impl.base.io.tar.bzip.BZip2CompressorInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class BZip2CompressorInputStream extends InputStream
An input stream that decompresses from the BZip2 format to be read as any other stream.

Forked from Apache Commons-Compress with possible changes

  • Field Details

  • Constructor Details

    • BZip2CompressorInputStream

      public BZip2CompressorInputStream(InputStream in) throws IOException
      Constructs a new BZip2CompressorInputStream which decompresses bytes read from the specified stream. This doesn't support decompressing concatenated .bz2 files.
      Throws:
      IOException - if the stream content is malformed or an I/O error occurs.
      NullPointerException - if in == null
    • BZip2CompressorInputStream

      public BZip2CompressorInputStream(InputStream in, boolean decompressConcatenated) throws IOException
      Constructs a new BZip2CompressorInputStream which decompresses bytes read from the specified stream.
      Parameters:
      in - the InputStream from which this object should be created
      decompressConcatenated - if true, decompress until the end of the input; if false, stop after the first .bz2 stream and leave the input position to point to the next byte after the .bz2 stream
      Throws:
      IOException - if the stream content is malformed or an I/O error occurs.
      NullPointerException - if in == null
  • Method Details

    • count

      protected void count(int read)
      Increments the counter of already read bytes. Doesn't increment if the EOF has been hit (read == -1)
      Parameters:
      read - the number of bytes read
      Since:
      1.1
    • count

      protected void count(long read)
      Increments the counter of already read bytes. Doesn't increment if the EOF has been hit (read == -1)
      Parameters:
      read - the number of bytes read
    • getCount

      @Deprecated public int getCount()
      Deprecated.
      this method may yield wrong results for large archives, use #getBytesRead instead
      Returns the current number of bytes read from this stream.
      Returns:
      the number of read bytes
    • getBytesRead

      public long getBytesRead()
      Returns the current number of bytes read from this stream.
      Returns:
      the number of read bytes
      Since:
      1.1
    • read

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

      public int read(byte[] dest, int offs, int len) throws IOException
      Overrides:
      read in class InputStream
      Throws:
      IOException
    • 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
    • matches

      public static boolean matches(byte[] signature, int length)
      Checks if the signature matches what is expected for a bzip2 file.
      Parameters:
      signature - the bytes to check
      length - the number of bytes to check
      Returns:
      true, if this stream is a bzip2 compressed stream, false otherwise
      Since:
      1.1