ZCompressorInputStream
Date: 2017-02-08

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:
    java.io.Closeable, java.lang.AutoCloseable

      public class ZCompressorInputStream
      extends LZWInputStream

  Input stream that decompresses .Z files.
  Since:
    1.7

- - ### Field Summary

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

      `DEFAULT_CODE_SIZE, in, UNUSED_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ZCompressorInputStream(java.io.InputStream inputStream)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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, getPrefix, getPrefixesLength, getTableSize, incrementCodeSize, initializeTables, read, read, resetCodeSize, resetPreviousCode, setClearCode, setCodeSize, setPrefix, setTableSize`

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

      `count, count, getBytesRead, getCount, 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`

- - ### Constructor Detail

    - #### ZCompressorInputStream

          public ZCompressorInputStream(java.io.InputStream inputStream)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### readNextCode

          protected int readNextCode()
                              throws java.io.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:
        `java.io.IOException` - on error

    - #### addEntry

          protected int addEntry(int previousCode,
                     byte character)
                          throws java.io.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:
        `java.io.IOException` - on error

    - #### decompressNextSymbol

          protected int decompressNextSymbol()
                                      throws java.io.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
      Throws:
        `java.io.IOException` - on error

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