Class XZCompressorInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.compress.compressors.CompressorInputStream
-
- org.apache.commons.compress.compressors.xz.XZCompressorInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,InputStreamStatistics
public class XZCompressorInputStream extends CompressorInputStream implements InputStreamStatistics
XZ decompressor.- Since:
- 1.4
-
-
Constructor Summary
Constructors Constructor Description XZCompressorInputStream(java.io.InputStream inputStream)
Creates a new input stream that decompresses XZ-compressed data from the specified input stream.XZCompressorInputStream(java.io.InputStream inputStream, boolean decompressConcatenated)
Creates a new input stream that decompresses XZ-compressed data from the specified input stream.XZCompressorInputStream(java.io.InputStream inputStream, boolean decompressConcatenated, int memoryLimitInKb)
Creates a new input stream that decompresses XZ-compressed data from the specified input stream.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
long
getCompressedCount()
static boolean
matches(byte[] signature, int length)
Checks if the signature matches what is expected for a .xz file.int
read()
int
read(byte[] buf, int off, int len)
long
skip(long n)
-
Methods inherited from class org.apache.commons.compress.compressors.CompressorInputStream
getBytesRead, getCount, getUncompressedCount
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, transferTo
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.compress.utils.InputStreamStatistics
getUncompressedCount
-
-
-
-
Constructor Detail
-
XZCompressorInputStream
public XZCompressorInputStream(java.io.InputStream inputStream) throws java.io.IOException
Creates a new input stream that decompresses XZ-compressed data from the specified input stream. This doesn't support concatenated .xz files.- Parameters:
inputStream
- where to read the compressed data- Throws:
java.io.IOException
- if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlyinginputStream
throws an exception
-
XZCompressorInputStream
public XZCompressorInputStream(java.io.InputStream inputStream, boolean decompressConcatenated) throws java.io.IOException
Creates a new input stream that decompresses XZ-compressed data from the specified input stream.- Parameters:
inputStream
- where to read the compressed datadecompressConcatenated
- if true, decompress until the end of the input; if false, stop after the first .xz stream and leave the input position to point to the next byte after the .xz stream- Throws:
java.io.IOException
- if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlyinginputStream
throws an exception
-
XZCompressorInputStream
public XZCompressorInputStream(java.io.InputStream inputStream, boolean decompressConcatenated, int memoryLimitInKb) throws java.io.IOException
Creates a new input stream that decompresses XZ-compressed data from the specified input stream.- Parameters:
inputStream
- where to read the compressed datadecompressConcatenated
- if true, decompress until the end of the input; if false, stop after the first .xz stream and leave the input position to point to the next byte after the .xz streammemoryLimitInKb
- memory limit used when reading blocks. If the estimated memory limit is exceeded onread()
, aMemoryLimitException
is thrown.- Throws:
java.io.IOException
- if the input is not in the .xz format, the input is corrupt or truncated, the .xz headers specify options that are not supported by this implementation, or the underlyinginputStream
throws an exception- Since:
- 1.14
-
-
Method Detail
-
matches
public static boolean matches(byte[] signature, int length)
Checks if the signature matches what is expected for a .xz file.- Parameters:
signature
- the bytes to checklength
- the number of bytes to check- Returns:
- true if signature matches the .xz magic bytes, false otherwise
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] buf, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException
- Overrides:
skip
in classjava.io.InputStream
- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.InputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
getCompressedCount
public long getCompressedCount()
- Specified by:
getCompressedCount
in interfaceInputStreamStatistics
- Returns:
- the amount of raw or compressed bytes read by the stream
- Since:
- 1.17
-
-