Package net.jpountz.lz4
Class LZ4FrameOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- net.jpountz.lz4.LZ4FrameOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class LZ4FrameOutputStream extends java.io.FilterOutputStreamImplementation 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:
- LZ4 Framing Format Spec 1.5.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLZ4FrameOutputStream.BDstatic classLZ4FrameOutputStream.BLOCKSIZEstatic classLZ4FrameOutputStream.FLG
-
Constructor Summary
Constructors Constructor Description LZ4FrameOutputStream(java.io.OutputStream out)Creates a newOutputStreamthat will compress data using the LZ4 algorithm with 4-MB blocks.LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize)Creates a newOutputStreamthat will compress data using the LZ4 algorithm.LZ4FrameOutputStream(java.io.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(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4FrameOutputStream.FLG.Bits... bits)Creates a newOutputStreamthat will compress data using using fastest instances ofLZ4CompressorandXXHash32.LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, LZ4FrameOutputStream.FLG.Bits... bits)Creates a newOutputStreamthat will compress data of unknown size using the LZ4 algorithm.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()voidwrite(byte[] b, int off, int len)voidwrite(int b)
-
-
-
Constructor Detail
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, LZ4FrameOutputStream.FLG.Bits... bits) throws java.io.IOExceptionCreates 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:
java.io.IOException- if an I/O error occurs- See Also:
LZ4FrameOutputStream(OutputStream, BLOCKSIZE, long, FLG.Bits...)
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4FrameOutputStream.FLG.Bits... bits) throws java.io.IOExceptionCreates 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:
java.io.IOException- if an I/O error occurs
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize, long knownSize, LZ4Compressor compressor, XXHash32 checksum, LZ4FrameOutputStream.FLG.Bits... bits) throws java.io.IOExceptionCreates 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:
java.io.IOException- if an I/O error occurs
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(java.io.OutputStream out, LZ4FrameOutputStream.BLOCKSIZE blockSize) throws java.io.IOExceptionCreates 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:
java.io.IOException- if an I/O error occurs- See Also:
LZ4FrameOutputStream(OutputStream, BLOCKSIZE, FLG.Bits...)
-
LZ4FrameOutputStream
public LZ4FrameOutputStream(java.io.OutputStream out) throws java.io.IOExceptionCreates a newOutputStreamthat will compress data using the LZ4 algorithm with 4-MB blocks.- Parameters:
out- the output stream to compress- Throws:
java.io.IOException- if an I/O error occurs- See Also:
LZ4FrameOutputStream(OutputStream, BLOCKSIZE)
-
-
Method Detail
-
write
public void write(int b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
-