public abstract class StreamCompressor extends Object implements Closeable
Deflater
and crc calculator, handling multiple types of output streams.
Currently ZipEntry.DEFLATED
and ZipEntry.STORED
are the only
supported compression methods.Modifier and Type | Method and Description |
---|---|
void |
close() |
static StreamCompressor |
create(int compressionLevel,
ScatterGatherBackingStore bs)
Create a stream compressor with the given compression level.
|
static StreamCompressor |
create(ScatterGatherBackingStore bs)
Create a stream compressor with the default compression level.
|
void |
deflate(InputStream source,
int method)
Deflate the given source using the supplied compression method
|
long |
getBytesRead()
Return the number of bytes read from the source stream
|
long |
getBytesWrittenForLastEntry()
The number of bytes written to the output for the last entry
|
long |
getCrc32()
The crc32 of the last deflated file
|
long |
getTotalBytesWritten()
The total number of bytes written to the output for all files
|
void |
writeCounted(byte[] data) |
void |
writeCounted(byte[] data,
int offset,
int length) |
protected abstract void |
writeOut(byte[] data,
int offset,
int length) |
public static StreamCompressor create(int compressionLevel, ScatterGatherBackingStore bs)
compressionLevel
- The Deflater
compression levelbs
- The ScatterGatherBackingStore to receive outputpublic static StreamCompressor create(ScatterGatherBackingStore bs)
bs
- The ScatterGatherBackingStore to receive outputpublic long getCrc32()
public long getBytesRead()
public long getBytesWrittenForLastEntry()
public long getTotalBytesWritten()
public void deflate(InputStream source, int method) throws IOException
source
- The source to compressmethod
- The #ZipArchiveEntry compression methodIOException
- When failures happenpublic void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public void writeCounted(byte[] data) throws IOException
IOException
public void writeCounted(byte[] data, int offset, int length) throws IOException
IOException
protected abstract void writeOut(byte[] data, int offset, int length) throws IOException
IOException
Copyright © 2018 The Apache Software Foundation. All rights reserved.