Class FramedLZ4CompressorOutputStream
java.lang.Object
java.io.OutputStream
org.apache.commons.compress.compressors.CompressorOutputStream
org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
CompressorOutputStream for the LZ4 frame format.
Based on the "spec" in the version "1.5.1 (31/03/2015)"
- Since:
- 1.14
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The block sizes supported by the format.static class
Parameters of the LZ4 frame format. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
private final byte[]
private final XXHash32
private int
private final XXHash32
private int
private static final byte[]
private boolean
private final byte[]
private final OutputStream
private final FramedLZ4CompressorOutputStream.Parameters
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new output stream that compresses data using the LZ4 frame format using the default block size of 4MB.FramedLZ4CompressorOutputStream
(OutputStream out, FramedLZ4CompressorOutputStream.Parameters params) Constructs a new output stream that compresses data using the LZ4 frame format using the given block size. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
appendToBlockDependencyBuffer
(byte[] b, int off, int len) void
close()
void
finish()
Compresses all remaining data and writes it to the stream, doesn't close the underlying stream.private void
void
write
(byte[] data, int off, int len) void
write
(int b) private void
private void
Methods inherited from class java.io.OutputStream
flush, write
-
Field Details
-
END_MARK
private static final byte[] END_MARK -
oneByte
private final byte[] oneByte -
blockData
private final byte[] blockData -
out
-
params
-
finished
private boolean finished -
currentIndex
private int currentIndex -
contentHash
-
blockHash
-
blockDependencyBuffer
private final byte[] blockDependencyBuffer -
collectedBlockDependencyBytes
private int collectedBlockDependencyBytes
-
-
Constructor Details
-
FramedLZ4CompressorOutputStream
Constructs a new output stream that compresses data using the LZ4 frame format using the default block size of 4MB.- Parameters:
out
- the OutputStream to which to write the compressed data- Throws:
IOException
- if writing the signature fails
-
FramedLZ4CompressorOutputStream
public FramedLZ4CompressorOutputStream(OutputStream out, FramedLZ4CompressorOutputStream.Parameters params) throws IOException Constructs a new output stream that compresses data using the LZ4 frame format using the given block size.- Parameters:
out
- the OutputStream to which to write the compressed dataparams
- the parameters to use- Throws:
IOException
- if writing the signature fails
-
-
Method Details
-
write
- Specified by:
write
in classOutputStream
- Throws:
IOException
-
write
- Overrides:
write
in classOutputStream
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- Throws:
IOException
-
finish
Compresses all remaining data and writes it to the stream, doesn't close the underlying stream.- Throws:
IOException
- if an error occurs
-
writeFrameDescriptor
- Throws:
IOException
-
flushBlock
- Throws:
IOException
-
writeTrailer
- Throws:
IOException
-
appendToBlockDependencyBuffer
private void appendToBlockDependencyBuffer(byte[] b, int off, int len)
-