Package uk.ac.starlink.util
Class Compression
java.lang.Object
uk.ac.starlink.util.Compression
Characterises the compression status of a stream, and provides methods
for decompressing it.
- Author:
- Mark Taylor (Starlink)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Compression
A Compression object representing BZip2 compression.static final Compression
A Compression object representing Unix compress-type compression.static final Compression
A Compression object representing GZip compression.static final int
Number of bytes needed to determine compression type (magic number).static final Compression
A Compression object representing no compression (or perhaps an unknown one). -
Method Summary
Modifier and TypeMethodDescriptionabstract InputStream
decompress
(InputStream raw) Returns a stream which is a decompressed version of the input stream, according to this objects compression type.static InputStream
Returns a decompressed version of the given input stream.static Compression
getCompression
(byte[] magic) Returns a Compression object characterising the compression (if any) represented by a given magic number.toString()
Returns the name of this compression type.
-
Field Details
-
MAGIC_SIZE
public static final int MAGIC_SIZENumber of bytes needed to determine compression type (magic number).- See Also:
-
NONE
A Compression object representing no compression (or perhaps an unknown one). The decompress method will return the raw input stream unchanged. -
GZIP
A Compression object representing GZip compression. -
BZIP2
A Compression object representing BZip2 compression. -
COMPRESS
A Compression object representing Unix compress-type compression.
-
-
Method Details
-
decompress
Returns a stream which is a decompressed version of the input stream, according to this objects compression type.- Parameters:
raw
- the raw input stream- Returns:
- a stream giving the decompressed version of raw
- Throws:
IOException
-
getCompression
Returns a Compression object characterising the compression (if any) represented by a given magic number.- Parameters:
magic
- a buffer containing the firstMAGIC_SIZE
bytes of input of the stream to be characterised- Returns:
- a Compression object of the type represented by magic
- Throws:
IllegalArgumentException
- if magic.length<MAGIC_SIZE
-
decompressStatic
Returns a decompressed version of the given input stream.- Parameters:
raw
- the raw input stream- Returns:
- the decompressed version of raw
- Throws:
IOException
-
toString
Returns the name of this compression type.
-