Package org.apache.commons.compress.compressors.z

# Class ZCompressorInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.compress.compressors.CompressorInputStream
org.apache.commons.compress.compressors.lzw.LZWInputStream
org.apache.commons.compress.compressors.z.ZCompressorInputStream

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

public class ZCompressorInputStream extends LZWInputStream
Input stream that decompresses .Z files.

Since:
  1.7
This class is not thread-safe

- ## Field Summary

  ### Fields inherited from class org.apache.commons.compress.compressors.lzw.LZWInputStream

  `DEFAULT_CODE_SIZE, in, UNUSED_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ZCompressorInputStream(InputStream inputStream)`
  `ZCompressorInputStream(InputStream inputStream, int memoryLimitInKb)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `addEntry(int previousCode, byte character)`
  Add a new entry to the dictionary.
  `protected int`
  `decompressNextSymbol()`
  Read the next code and expand it.
  `static boolean`
  `matches(byte[] signature, int length)`
  Checks if the signature matches what is expected for a UNIX compress file.
  `protected int`
  `readNextCode()`
  Reads the next code from the stream.

  ### Methods inherited from class org.apache.commons.compress.compressors.lzw.LZWInputStream

  `addEntry, addRepeatOfPreviousCode, close, expandCodeToOutputStack, getClearCode, getCodeSize, getCompressedCount, getPrefix, getPrefixesLength, getTableSize, incrementCodeSize, initializeTables, initializeTables, read, read, resetCodeSize, resetPreviousCode, setClearCode, setCodeSize, setPrefix, setTableSize`

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

- ## Constructor Details

  - ### ZCompressorInputStream

    public ZCompressorInputStream(InputStream inputStream) throws IOException
    Throws:
      `IOException`

  - ### ZCompressorInputStream

    public ZCompressorInputStream(InputStream inputStream, int memoryLimitInKb) throws IOException
    Throws:
      `IOException`

- ## Method Details

  - ### matches

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

  - ### addEntry

    protected int addEntry(int previousCode, byte character) throws IOException
    Add a new entry to the dictionary.

    This method is only protected for technical reasons and is not part of Commons Compress' published API. It may change or disappear without warning.

    Specified by:
      `addEntry` in class `LZWInputStream`
    Parameters:
      `previousCode` - the previous code
      `character` - the next character to append
    Returns:
      the new code
    Throws:
      `IOException` - on error

  - ### decompressNextSymbol

    protected int decompressNextSymbol() throws IOException
    Read the next code and expand it.

    This method is only protected for technical reasons and is not part of Commons Compress' published API. It may change or disappear without warning.

    Specified by:
      `decompressNextSymbol` in class `LZWInputStream`
    Returns:
      the expanded next code, negative on EOF
    Throws:
      `IOException` - on error

  - ### readNextCode

    protected int readNextCode() throws IOException
    Reads the next code from the stream.

    This method is only protected for technical reasons and is not part of Commons Compress' published API. It may change or disappear without warning.

    Overrides:
      `readNextCode` in class `LZWInputStream`
    Returns:
      the next code
    Throws:
      `IOException` - on error