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 and Description
    `ZCompressorInputStream(InputStream inputStream)`
    `ZCompressorInputStream(InputStream inputStream, int memoryLimitInKb)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete 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, 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 Detail

    - #### ZCompressorInputStream

          public ZCompressorInputStream(InputStream inputStream)
                                 throws IOException

      Throws:
        `IOException`

    - #### ZCompressorInputStream

          public ZCompressorInputStream(InputStream inputStream,
                                        int memoryLimitInKb)
                                 throws IOException

      Throws:
        `IOException`

  - ### Method Detail

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

Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.