Package org.biojava.nbio.core.util
Class UncompressInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.biojava.nbio.core.util.UncompressInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
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.
This version has been modified from the original 0.3-3 version by the
Unidata Program Center (support@xxxxxxxxxxxxxxxx) to make the constructor
public and to fix a couple of bugs.
Also:
- markSupported() returns false
- add uncompress() static method
- Version:
- 0.3-3 06/05/2001, 0.3-5 2008/01/19, 1.0 2018/01/08
- Author:
- Ronald Tschalar, Unidata Program Center, Richard Holland - making LZW_MAGIC package-visible., Fred Hansen (zweibieren@yahoo.com) Fixed available() and the EOF condition for mainloop. Also added some comments., Fred Hansen (zweibieren@yahoo.com) added uncompress(InputStream,OutputStream) and called it from main(String[]) and uncompress(String, FileOutputStream) normalize indentation rewrite skip method amend logging code in uncompress(String, FileOutputStream)
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintbooleanThis stream does not support mark/reset on the stream.intread()intread(byte[] buf, int off, int len) longskip(long num) static longuncompress(InputStream in, OutputStream out) Read an input stream and uncompress it to an output stream.static longuncompress(String fileInName, FileOutputStream out) Read a named file and uncompress it.Methods inherited from class java.io.FilterInputStream
close, mark, read, resetMethods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
UncompressInputStream
- Parameters:
is- the input stream to decompress- Throws:
IOException- if the header is malformed
-
-
Method Details
-
read
- Overrides:
readin classFilterInputStream- Throws:
IOException
-
read
- Overrides:
readin classFilterInputStream- Throws:
IOException
-
skip
- Overrides:
skipin classFilterInputStream- Throws:
IOException
-
available
- Overrides:
availablein classFilterInputStream- Throws:
IOException
-
markSupported
This stream does not support mark/reset on the stream.- Overrides:
markSupportedin classFilterInputStream- Returns:
- false
-
uncompress
Read a named file and uncompress it.- Parameters:
fileInName- Name of compressed file.out- A destination for the result. It is closed after data is sent.- Returns:
- number of bytes sent to the output stream,
- Throws:
IOException- for any error
-
uncompress
Read an input stream and uncompress it to an output stream.- Parameters:
in- the incoming InputStream. It is NOT closed.out- the destination OutputStream. It is NOT closed.- Returns:
- number of bytes sent to the output stream
- Throws:
IOException- for any error
-