Package org.apache.commons.compress.compressors.pack200

# Class Pack200CompressorInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.compress.compressors.CompressorInputStream
org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class Pack200CompressorInputStream extends CompressorInputStream
An input stream that decompresses from the Pack200 format to be read as any other stream.

The `getCount` and `getBytesRead` methods always return 0.

Since:
  1.3
This class is not thread-safe

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Pack200CompressorInputStream(File file)`
  Decompresses the given file, caching the decompressed data in memory.
  `Pack200CompressorInputStream(File file, Map<String,String> properties)`
  Decompresses the given file, caching the decompressed data in memory and using the given properties.
  `Pack200CompressorInputStream(File file, Pack200Strategy mode)`
  Decompresses the given file using the given strategy to cache the results.
  `Pack200CompressorInputStream(File file, Pack200Strategy mode, Map<String,String> properties)`
  Decompresses the given file using the given strategy to cache the results and the given properties.
  `Pack200CompressorInputStream(InputStream inputStream)`
  Decompresses the given stream, caching the decompressed data in memory.
  `Pack200CompressorInputStream(InputStream inputStream, Map<String,String> properties)`
  Decompresses the given stream, caching the decompressed data in memory and using the given properties.
  `Pack200CompressorInputStream(InputStream inputStream, Pack200Strategy mode)`
  Decompresses the given stream using the given strategy to cache the results.
  `Pack200CompressorInputStream(InputStream inputStream, Pack200Strategy mode, Map<String,String> properties)`
  Decompresses the given stream using the given strategy to cache the results and the given properties.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `available()`
  `void`
  `close()`
  `void`
  `mark(int limit)`
  `boolean`
  `markSupported()`
  `static boolean`
  `matches(byte[] signature, int length)`
  Checks if the signature matches what is expected for a pack200 file (0xCAFED00D).
  `int`
  `read()`
  `int`
  `read(byte[] b)`
  `int`
  `read(byte[] b, int off, int count)`
  `void`
  `reset()`
  `long`
  `skip(long count)`

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

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

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

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

- ## Constructor Details

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(File file) throws IOException
    Decompresses the given file, caching the decompressed data in memory.
    Parameters:
      `file` - the file to decompress
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(File file, Map<String,String> properties) throws IOException
    Decompresses the given file, caching the decompressed data in memory and using the given properties.
    Parameters:
      `file` - the file to decompress
      `properties` - Pack200 properties to use
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(File file, Pack200Strategy mode) throws IOException
    Decompresses the given file using the given strategy to cache the results.
    Parameters:
      `file` - the file to decompress
      `mode` - the strategy to use
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(File file, Pack200Strategy mode, Map<String,String> properties) throws IOException
    Decompresses the given file using the given strategy to cache the results and the given properties.
    Parameters:
      `file` - the file to decompress
      `mode` - the strategy to use
      `properties` - Pack200 properties to use
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(InputStream inputStream) throws IOException
    Decompresses the given stream, caching the decompressed data in memory.

    When reading from a file the File-arg constructor may provide better performance.

    Parameters:
      `inputStream` - the InputStream from which this object should be created
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(InputStream inputStream, Map<String,String> properties) throws IOException
    Decompresses the given stream, caching the decompressed data in memory and using the given properties.

    When reading from a file the File-arg constructor may provide better performance.

    Parameters:
      `inputStream` - the InputStream from which this object should be created
      `properties` - Pack200 properties to use
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(InputStream inputStream, Pack200Strategy mode) throws IOException
    Decompresses the given stream using the given strategy to cache the results.

    When reading from a file the File-arg constructor may provide better performance.

    Parameters:
      `inputStream` - the InputStream from which this object should be created
      `mode` - the strategy to use
    Throws:
      `IOException` - if reading fails

  - ### Pack200CompressorInputStream

    public Pack200CompressorInputStream(InputStream inputStream, Pack200Strategy mode, Map<String,String> properties) throws IOException
    Decompresses the given stream using the given strategy to cache the results and the given properties.

    When reading from a file the File-arg constructor may provide better performance.

    Parameters:
      `inputStream` - the InputStream from which this object should be created
      `mode` - the strategy to use
      `properties` - Pack200 properties to use
    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 pack200 file (0xCAFED00D).
    Parameters:
      `signature` - the bytes to check
      `length` - the number of bytes to check
    Returns:
      true, if this stream is a pack200 compressed stream, false otherwise

  - ### available

    public int available() throws IOException
    Overrides:
      `available` 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`

  - ### mark

    public void mark(int limit)
    Overrides:
      `mark` in class `InputStream`

  - ### markSupported

    public boolean markSupported()
    Overrides:
      `markSupported` in class `InputStream`

  - ### read

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

  - ### read

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

  - ### read

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

  - ### reset

    public void reset() throws IOException
    Overrides:
      `reset` in class `InputStream`
    Throws:
      `IOException`

  - ### skip

    public long skip(long count) throws IOException
    Overrides:
      `skip` in class `InputStream`
    Throws:
      `IOException`