Class StreamCompressor
java.lang.Object
org.apache.commons.compress.archivers.zip.StreamCompressor
- All Implemented Interfaces:
Closeable
,AutoCloseable
Encapsulates a
Deflater
and crc calculator, handling multiple types of output streams.
Currently ZipEntry.DEFLATED
and ZipEntry.STORED
are the only
supported compression methods.- Since:
- 1.10
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
static StreamCompressor
create
(int compressionLevel, ScatterGatherBackingStore bs) Create a stream compressor with the given compression level.static StreamCompressor
Create a stream compressor with the default compression level.void
deflate
(InputStream source, int method) Deflate the given source using the supplied compression methodlong
Return the number of bytes read from the source streamlong
The number of bytes written to the output for the last entrylong
getCrc32()
The crc32 of the last deflated filelong
The total number of bytes written to the output for all filesvoid
writeCounted
(byte[] data) void
writeCounted
(byte[] data, int offset, int length) protected abstract void
writeOut
(byte[] data, int offset, int length)
-
Method Details
-
create
Create a stream compressor with the given compression level.- Parameters:
compressionLevel
- TheDeflater
compression levelbs
- The ScatterGatherBackingStore to receive output- Returns:
- A stream compressor
-
create
Create a stream compressor with the default compression level.- Parameters:
bs
- The ScatterGatherBackingStore to receive output- Returns:
- A stream compressor
-
getCrc32
The crc32 of the last deflated file- Returns:
- the crc32
-
getBytesRead
Return the number of bytes read from the source stream- Returns:
- The number of bytes read, never negative
-
getBytesWrittenForLastEntry
The number of bytes written to the output for the last entry- Returns:
- The number of bytes, never negative
-
getTotalBytesWritten
The total number of bytes written to the output for all files- Returns:
- The number of bytes, never negative
-
deflate
Deflate the given source using the supplied compression method- Parameters:
source
- The source to compressmethod
- The #ZipArchiveEntry compression method- Throws:
IOException
- When failures happen
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
writeCounted
- Throws:
IOException
-
writeCounted
- Throws:
IOException
-
writeOut
- Throws:
IOException
-