Package net.jpountz.lz4
Class LZ4FrameOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
net.jpountz.lz4.LZ4FrameOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
Implementation of the v1.5.1 LZ4 Frame format. This class is NOT thread safe.
Not Supported:
- Dependent blocks
- Legacy streams
- Multiple frames (one LZ4FrameOutputStream is one frame)
Originally based on kafka's KafkaLZ4BlockOutputStream.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic enumstatic class -
Field Summary
Fields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newOutputStreamthat will compress data using the LZ4 algorithm with 4-MB blocks.LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize) Creates a newOutputStreamthat will compress data using the LZ4 algorithm.LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4Compressor compressor, XXHash32 checksum, LZ4FrameOutputStream.FLG.Bits... bits) Creates a newOutputStreamthat will compress data using the specified instances ofLZ4CompressorandXXHash32.LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4FrameOutputStream.FLG.Bits... bits) Creates a newOutputStreamthat will compress data using using fastest instances ofLZ4CompressorandXXHash32.LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, LZ4FrameOutputStream.FLG.Bits... bits) Creates a newOutputStreamthat will compress data of unknown size using the LZ4 algorithm. -
Method Summary
Methods inherited from class java.io.FilterOutputStream
writeMethods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, LZ4FrameOutputStream.FLG.Bits... bits) throws IOException Creates a newOutputStreamthat will compress data of unknown size using the LZ4 algorithm.- Parameters:
out- the output stream to compressblockSize- the BLOCKSIZE to usebits- a set of features to use- Throws:
IOException- if an I/O error occurs- See Also:
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4FrameOutputStream.FLG.Bits... bits) throws IOException Creates a newOutputStreamthat will compress data using using fastest instances ofLZ4CompressorandXXHash32.- Parameters:
out- the output stream to compressblockSize- the BLOCKSIZE to useknownSize- the size of the uncompressed data. A value less than zero means unknown.bits- a set of features to use- Throws:
IOException- if an I/O error occurs
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4Compressor compressor, XXHash32 checksum, LZ4FrameOutputStream.FLG.Bits... bits) throws IOException Creates a newOutputStreamthat will compress data using the specified instances ofLZ4CompressorandXXHash32.- Parameters:
out- the output stream to compressblockSize- the BLOCKSIZE to useknownSize- the size of the uncompressed data. A value less than zero means unknown.compressor- theLZ4Compressorinstance to use to compress datachecksum- theXXHash32instance to use to check data for integritybits- a set of features to use- Throws:
IOException- if an I/O error occurs
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize) throws IOException Creates a newOutputStreamthat will compress data using the LZ4 algorithm. The block independence flag is set, and none of the other flags are set.- Parameters:
out- The stream to compressblockSize- the BLOCKSIZE to use- Throws:
IOException- if an I/O error occurs- See Also:
-
LZ4FrameOutputStream
Creates a newOutputStreamthat will compress data using the LZ4 algorithm with 4-MB blocks.- Parameters:
out- the output stream to compress- Throws:
IOException- if an I/O error occurs- See Also:
-
-
Method Details
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
flush
- Specified by:
flushin interfaceFlushable- Overrides:
flushin classFilterOutputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException
-