Package org.apache.commons.compress.compressors.bzip2

# Class BZip2CompressorInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.compress.compressors.CompressorInputStream
org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `InputStreamStatistics`

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

This class is not thread-safe

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `BASEBLOCKSIZE`
  `static final int`
  `G_SIZE`
  `static final int`
  `MAX_ALPHA_SIZE`
  `static final int`
  `MAX_CODE_LEN`
  `static final int`
  `MAX_SELECTORS`
  `static final int`
  `N_GROUPS`
  `static final int`
  `N_ITERS`
  `static final int`
  `NUM_OVERSHOOT_BYTES`
  `static final int`
  `RUNA`
  `static final int`
  `RUNB`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BZip2CompressorInputStream(InputStream in)`
  Constructs a new BZip2CompressorInputStream which decompresses bytes read from the specified stream.
  `BZip2CompressorInputStream(InputStream in, boolean decompressConcatenated)`
  Constructs a new BZip2CompressorInputStream which decompresses bytes read from the specified stream.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `long`
  `getCompressedCount()`
  Gets the amount of raw or compressed bytes read by the stream.
  `static boolean`
  `matches(byte[] signature, int length)`
  Checks if the signature matches what is expected for a bzip2 file.
  `int`
  `read()`
  `int`
  `read(byte[] dest, int offs, int len)`

  ### Methods inherited from class org.apache.commons.compress.compressors.CompressorInputStream

  `count, count, getBytesRead, getCount, getUncompressedCount, pushedBackBytes`

  ### Methods inherited from class java.io.InputStream

  `available, mark, markSupported, read, reset, skip`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.compress.utils.InputStreamStatistics

  `getUncompressedCount`

- ## Field Details

  - ### BASEBLOCKSIZE

    static final int BASEBLOCKSIZE
    See Also:
      - Constant Field Values

  - ### MAX_ALPHA_SIZE

    static final int MAX_ALPHA_SIZE
    See Also:
      - Constant Field Values

  - ### MAX_CODE_LEN

    static final int MAX_CODE_LEN
    See Also:
      - Constant Field Values

  - ### RUNA

    static final int RUNA
    See Also:
      - Constant Field Values

  - ### RUNB

    static final int RUNB
    See Also:
      - Constant Field Values

  - ### N_GROUPS

    static final int N_GROUPS
    See Also:
      - Constant Field Values

  - ### G_SIZE

    static final int G_SIZE
    See Also:
      - Constant Field Values

  - ### N_ITERS

    static final int N_ITERS
    See Also:
      - Constant Field Values

  - ### MAX_SELECTORS

    static final int MAX_SELECTORS
    See Also:
      - Constant Field Values

  - ### NUM_OVERSHOOT_BYTES

    static final int NUM_OVERSHOOT_BYTES
    See Also:
      - Constant Field Values

- ## 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.
    Parameters:
      `in` - the InputStream from which this object should be created
    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 `in == null`, the stream content is malformed, or an I/O error occurs.

- ## Method Details

  - ### 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

  - ### 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()
    Description copied from interface: `InputStreamStatistics`
    Gets the amount of raw or compressed bytes read by the stream.
    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[] dest, int offs, int len) throws IOException
    Overrides:
      `read` in class `InputStream`
    Throws:
      `IOException`