uk.ac.starlink.util

## Class UncompressInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - uk.ac.starlink.util.UncompressInputStream

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

      public class UncompressInputStream
      extends java.io.FilterInputStream

  This class decompresses an input stream containing data compressed with the unix "compress" utility (LZC, a LZW variant). This code is based heavily on the unlzw.c code in gzip-1.2.4 (written by Peter Jannesen) and the original compress code.

- - ### Field Summary

    - ### Fields inherited from class java.io.FilterInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UncompressInputStream(java.io.InputStream is)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `available()`
    `static void` | `main(java.lang.String[] args)`
    `boolean` | `markSupported()` This stream does not support mark/reset on the stream.
    `int` | `read()`
    `int` | `read(byte[] buf, int off, int len)`
    `long` | `skip(long num)`

    - ### Methods inherited from class java.io.FilterInputStream

      `close, mark, read, reset`

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

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

- - ### Constructor Detail

    - #### UncompressInputStream

          public UncompressInputStream(java.io.InputStream is)
                                throws java.io.IOException

      Parameters:
        `is` - the input stream to decompress
      Throws:
        `java.io.IOException` - if the header is malformed

  - ### Method Detail

    - #### read

          public int read()
                   throws java.io.IOException

      Overrides:
        `read` in class `java.io.FilterInputStream`
      Throws:
        `java.io.IOException`

    - #### read

          public int read(byte[] buf,
                          int off,
                          int len)
                   throws java.io.IOException

      Overrides:
        `read` in class `java.io.FilterInputStream`
      Throws:
        `java.io.IOException`

    - #### skip

          public long skip(long num)
                    throws java.io.IOException

      Overrides:
        `skip` in class `java.io.FilterInputStream`
      Throws:
        `java.io.IOException`

    - #### available

          public int available()
                        throws java.io.IOException

      Overrides:
        `available` in class `java.io.FilterInputStream`
      Throws:
        `java.io.IOException`

    - #### markSupported

          public boolean markSupported()

      This stream does not support mark/reset on the stream.
      Overrides:
        `markSupported` in class `java.io.FilterInputStream`
      Returns:
        false

    - #### main

          public static void main(java.lang.String[] args)
                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`