|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
org.tukaani.xz.SingleXZInputStream
public class SingleXZInputStream
Decompresses exactly one XZ Stream in streamed mode (no seeking). The decompression stops after the first XZ Stream has been decompressed, and the read position in the input stream is left at the first byte after the end of the XZ Stream. This can be useful when XZ data has been stored inside some other file format or protocol.
Unless you know what you are doing, don't use this class to decompress
standalone .xz files. For that purpose, use XZInputStream
.
If you are decompressing complete XZ streams and your application knows
exactly how much uncompressed data there should be, it is good to try
reading one more byte by calling read()
and checking
that it returns -1
. This way the decompressor will parse the
file footers and verify the integrity checks, giving the caller more
confidence that the uncompressed data is valid.
XZInputStream
Constructor Summary | |
---|---|
SingleXZInputStream(java.io.InputStream in)
Creates a new XZ decompressor that decompresses exactly one XZ Stream from in without a memory usage limit. |
|
SingleXZInputStream(java.io.InputStream in,
int memoryLimit)
Creates a new XZ decompressor that decompresses exactly one XZ Stream from in with an optional memory usage limit. |
Method Summary | |
---|---|
int |
available()
Returns the number of uncompressed bytes that can be read without blocking. |
void |
close()
Closes the stream and calls in.close() . |
java.lang.String |
getCheckName()
Gets the name of the integrity check used in this XZ Stream. |
int |
getCheckType()
Gets the ID of the integrity check used in this XZ Stream. |
int |
read()
Decompresses the next byte from this input stream. |
int |
read(byte[] buf,
int off,
int len)
Decompresses into an array of bytes. |
Methods inherited from class java.io.InputStream |
---|
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 |
---|
public SingleXZInputStream(java.io.InputStream in) throws java.io.IOException
in
without a memory usage limit.
This constructor reads and parses the XZ Stream Header (12 bytes)
from in
. The header of the first Block is not read
until read
is called.
in
- input stream from which XZ-compressed
data is read
XZFormatException
- input is not in the XZ format
CorruptedInputException
- XZ header CRC32 doesn't match
UnsupportedOptionsException
- XZ header is valid but specifies options
not supported by this implementation
java.io.EOFException
- less than 12 bytes of input was available
from in
java.io.IOException
- may be thrown by in
public SingleXZInputStream(java.io.InputStream in, int memoryLimit) throws java.io.IOException
in
with an optional memory usage limit.
This is identical to SingleXZInputStream(InputStream)
except that this takes also the memoryLimit
argument.
in
- input stream from which XZ-compressed
data is readmemoryLimit
- memory usage limit in kibibytes (KiB)
or -1
to impose no
memory usage limit
XZFormatException
- input is not in the XZ format
CorruptedInputException
- XZ header CRC32 doesn't match
UnsupportedOptionsException
- XZ header is valid but specifies options
not supported by this implementation
java.io.EOFException
- less than 12 bytes of input was available
from in
java.io.IOException
- may be thrown by in
Method Detail |
---|
public int getCheckType()
public java.lang.String getCheckName()
public int read() throws java.io.IOException
Reading lots of data with read()
from this input stream
may be inefficient. Wrap it in BufferedInputStream
if you need to read lots of data one byte at a time.
read
in class java.io.InputStream
-1
to indicate the end of the compressed stream
CorruptedInputException
UnsupportedOptionsException
MemoryLimitException
XZIOException
- if the stream has been closed
java.io.EOFException
- compressed input is truncated or corrupt
java.io.IOException
- may be thrown by in
public int read(byte[] buf, int off, int len) throws java.io.IOException
If len
is zero, no bytes are read and 0
is returned. Otherwise this will try to decompress len
bytes of uncompressed data. Less than len
bytes may
be read only in the following situations:
len
bytes have already been successfully decompressed.
The next call with non-zero len
will immediately
throw the pending exception.
read
in class java.io.InputStream
buf
- target buffer for uncompressed dataoff
- start offset in buf
len
- maximum number of uncompressed bytes to read
-1
to indicate
the end of the compressed stream
CorruptedInputException
UnsupportedOptionsException
MemoryLimitException
XZIOException
- if the stream has been closed
java.io.EOFException
- compressed input is truncated or corrupt
java.io.IOException
- may be thrown by in
public int available() throws java.io.IOException
CorruptedInputException
may get
thrown before the number of bytes claimed to be available have
been read from this input stream.
available
in class java.io.InputStream
java.io.IOException
public void close() throws java.io.IOException
in.close()
.
If the stream was already closed, this does nothing.
close
in interface java.io.Closeable
close
in class java.io.InputStream
java.io.IOException
- if thrown by in.close()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |