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
-
Method Summary
Modifier and TypeMethodDescriptionint
boolean
This stream does not support mark/reset on the stream.int
read()
int
read
(byte[] buf, int off, int len) long
skip
(long num) static long
uncompress
(InputStream in, OutputStream out) Read an input stream and uncompress it to an output stream.static long
uncompress
(String fileInName, FileOutputStream out) Read a named file and uncompress it.Methods inherited from class java.io.FilterInputStream
close, mark, read, reset
Methods 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:
read
in classFilterInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
skip
- Overrides:
skip
in classFilterInputStream
- Throws:
IOException
-
available
- Overrides:
available
in classFilterInputStream
- Throws:
IOException
-
markSupported
This stream does not support mark/reset on the stream.- Overrides:
markSupported
in 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
-