Package com.github.luben.zstd
Class ZstdOutputStreamNoFinalizer
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- com.github.luben.zstd.ZstdOutputStreamNoFinalizer
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class ZstdOutputStreamNoFinalizer extends java.io.FilterOutputStream
OutputStream filter that compresses the data using Zstd compression.
-
-
Constructor Summary
Constructors Constructor Description ZstdOutputStreamNoFinalizer(java.io.OutputStream outStream)
create a new compressing OutputStreamZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, int level)
create a new compressing OutputStreamZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, BufferPool bufferPool)
create a new compressing OutputStreamZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, BufferPool bufferPool, int level)
create a new compressing OutputStream
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
closeWithoutClosingParentStream()
void
flush()
Flushes the outputstatic long
recommendedCOutSize()
ZstdOutputStreamNoFinalizer
setChainLog(int chainLog)
Advanced Compression Option: Set the maximum number of bits for the secondary search structure.ZstdOutputStreamNoFinalizer
setChecksum(boolean useChecksums)
Enable checksums for the compressed stream.ZstdOutputStreamNoFinalizer
setCloseFrameOnFlush(boolean closeOnFlush)
Enable closing the frame on flush.ZstdOutputStreamNoFinalizer
setDict(byte[] dict)
ZstdOutputStreamNoFinalizer
setDict(ZstdDictCompress dict)
ZstdOutputStreamNoFinalizer
setHashLog(int hashLog)
Advanced Compression Option: Set the maximum number of bits for a hash table.ZstdOutputStreamNoFinalizer
setJobSize(int jobSize)
Advanced Compression Option: Set the size of each compression job.ZstdOutputStreamNoFinalizer
setLevel(int level)
Set the compression level.ZstdOutputStreamNoFinalizer
setLong(int windowLog)
Enable Long Distance Matching and set the Window size Log.ZstdOutputStreamNoFinalizer
setMinMatch(int minMatch)
Advanced Compression Option: Set the minimum match length.ZstdOutputStreamNoFinalizer
setOverlapLog(int overlapLog)
Advanced Compression Option: Set the amount of data reloaded from the previous job.ZstdOutputStreamNoFinalizer
setSearchLog(int searchLog)
Advanced Compression Option: Set the maximum number of searches in a hash chain or a binary tree using logarithmic scale.ZstdOutputStreamNoFinalizer
setStrategy(int strategy)
Advanced Compression Option: Set the strategy used by a match finder.ZstdOutputStreamNoFinalizer
setTargetLength(int targetLength)
Advanced Compression Option: Set the target match length.ZstdOutputStreamNoFinalizer
setWindowLog(int windowLog)
Advanced Compression Option: Set the maximum number of bits for a match distance.ZstdOutputStreamNoFinalizer
setWorkers(int n)
Enable use of worker threads for parallel compression.void
write(byte[] src, int offset, int len)
void
write(int i)
-
-
-
Constructor Detail
-
ZstdOutputStreamNoFinalizer
public ZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, int level) throws java.io.IOException
create a new compressing OutputStream- Parameters:
outStream
- the stream to wraplevel
- the compression level- Throws:
java.io.IOException
-
ZstdOutputStreamNoFinalizer
public ZstdOutputStreamNoFinalizer(java.io.OutputStream outStream) throws java.io.IOException
create a new compressing OutputStream- Parameters:
outStream
- the stream to wrap- Throws:
java.io.IOException
-
ZstdOutputStreamNoFinalizer
public ZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, BufferPool bufferPool, int level) throws java.io.IOException
create a new compressing OutputStream- Parameters:
outStream
- the stream to wrapbufferPool
- the pool to fetch and return buffers- Throws:
java.io.IOException
-
ZstdOutputStreamNoFinalizer
public ZstdOutputStreamNoFinalizer(java.io.OutputStream outStream, BufferPool bufferPool) throws java.io.IOException
create a new compressing OutputStream- Parameters:
outStream
- the stream to wrapbufferPool
- the pool to fetch and return buffers- Throws:
java.io.IOException
-
-
Method Detail
-
recommendedCOutSize
public static long recommendedCOutSize()
-
setChecksum
public ZstdOutputStreamNoFinalizer setChecksum(boolean useChecksums) throws java.io.IOException
Enable checksums for the compressed stream. Default: false- Throws:
java.io.IOException
-
setLevel
public ZstdOutputStreamNoFinalizer setLevel(int level) throws java.io.IOException
Set the compression level. Default:Zstd.defaultCompressionLevel()
- Throws:
java.io.IOException
-
setLong
public ZstdOutputStreamNoFinalizer setLong(int windowLog) throws java.io.IOException
Enable Long Distance Matching and set the Window size Log. Values for windowLog outside the range 10-27 will disable and reset LDM- Throws:
java.io.IOException
-
setWorkers
public ZstdOutputStreamNoFinalizer setWorkers(int n) throws java.io.IOException
Enable use of worker threads for parallel compression. Default: no worker threads.- Throws:
java.io.IOException
-
setOverlapLog
public ZstdOutputStreamNoFinalizer setOverlapLog(int overlapLog) throws java.io.IOException
Advanced Compression Option: Set the amount of data reloaded from the previous job. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setJobSize
public ZstdOutputStreamNoFinalizer setJobSize(int jobSize) throws java.io.IOException
Advanced Compression Option: Set the size of each compression job. Only applies when multi threaded compression is enabled. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setTargetLength
public ZstdOutputStreamNoFinalizer setTargetLength(int targetLength) throws java.io.IOException
Advanced Compression Option: Set the target match length. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setMinMatch
public ZstdOutputStreamNoFinalizer setMinMatch(int minMatch) throws java.io.IOException
Advanced Compression Option: Set the minimum match length. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setSearchLog
public ZstdOutputStreamNoFinalizer setSearchLog(int searchLog) throws java.io.IOException
Advanced Compression Option: Set the maximum number of searches in a hash chain or a binary tree using logarithmic scale. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setChainLog
public ZstdOutputStreamNoFinalizer setChainLog(int chainLog) throws java.io.IOException
Advanced Compression Option: Set the maximum number of bits for the secondary search structure. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setHashLog
public ZstdOutputStreamNoFinalizer setHashLog(int hashLog) throws java.io.IOException
Advanced Compression Option: Set the maximum number of bits for a hash table. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setWindowLog
public ZstdOutputStreamNoFinalizer setWindowLog(int windowLog) throws java.io.IOException
Advanced Compression Option: Set the maximum number of bits for a match distance. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setStrategy
public ZstdOutputStreamNoFinalizer setStrategy(int strategy) throws java.io.IOException
Advanced Compression Option: Set the strategy used by a match finder. See https://facebook.github.io/zstd/zstd_manual.html#Chapter5 for more information.- Throws:
java.io.IOException
-
setCloseFrameOnFlush
public ZstdOutputStreamNoFinalizer setCloseFrameOnFlush(boolean closeOnFlush)
Enable closing the frame on flush. This will guarantee that it can be ready fully if the process crashes before closing the stream. On the downside it will negatively affect the compression ratio. Default: false.
-
setDict
public ZstdOutputStreamNoFinalizer setDict(byte[] dict) throws java.io.IOException
- Throws:
java.io.IOException
-
setDict
public ZstdOutputStreamNoFinalizer setDict(ZstdDictCompress dict) throws java.io.IOException
- Throws:
java.io.IOException
-
write
public void write(byte[] src, int offset, int len) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
write
public void write(int i) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
Flushes the output- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
closeWithoutClosingParentStream
public void closeWithoutClosingParentStream() throws java.io.IOException
- Throws:
java.io.IOException
-
-