Package com.github.luben.zstd
Class ZstdInputStreamNoFinalizer
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.github.luben.zstd.ZstdInputStreamNoFinalizer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class ZstdInputStreamNoFinalizer extends java.io.FilterInputStream
InputStream filter that decompresses the data provided by the underlying InputStream using Zstd compression. It does not support mark/reset methods. It also does not have finalizer, so if you rely on finalizers to clean the native memory and release buffers use `ZstdInputStream` instead.
-
-
Constructor Summary
Constructors Constructor Description ZstdInputStreamNoFinalizer(java.io.InputStream inStream)
create a new decompressing InputStreamZstdInputStreamNoFinalizer(java.io.InputStream inStream, BufferPool bufferPool)
create a new decompressing InputStream
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
boolean
getContinuous()
boolean
markSupported()
int
read()
int
read(byte[] dst, int offset, int len)
static long
recommendedDInSize()
static long
recommendedDOutSize()
ZstdInputStreamNoFinalizer
setContinuous(boolean b)
Don't break on unfinished frames Use case: decompressing files that are not yet finished writing and compressingZstdInputStreamNoFinalizer
setDict(byte[] dict)
ZstdInputStreamNoFinalizer
setDict(ZstdDictDecompress dict)
ZstdInputStreamNoFinalizer
setLongMax(int windowLogMax)
ZstdInputStreamNoFinalizer
setRefMultipleDDicts(boolean useMultiple)
long
skip(long numBytes)
-
-
-
Constructor Detail
-
ZstdInputStreamNoFinalizer
public ZstdInputStreamNoFinalizer(java.io.InputStream inStream) throws java.io.IOException
create a new decompressing InputStream- Parameters:
inStream
- the stream to wrap- Throws:
java.io.IOException
-
ZstdInputStreamNoFinalizer
public ZstdInputStreamNoFinalizer(java.io.InputStream inStream, BufferPool bufferPool) throws java.io.IOException
create a new decompressing InputStream- Parameters:
inStream
- the stream to wrapbufferPool
- the pool to fetch and return buffers- Throws:
java.io.IOException
-
-
Method Detail
-
recommendedDInSize
public static long recommendedDInSize()
-
recommendedDOutSize
public static long recommendedDOutSize()
-
setContinuous
public ZstdInputStreamNoFinalizer setContinuous(boolean b)
Don't break on unfinished frames Use case: decompressing files that are not yet finished writing and compressing
-
getContinuous
public boolean getContinuous()
-
setDict
public ZstdInputStreamNoFinalizer setDict(byte[] dict) throws java.io.IOException
- Throws:
java.io.IOException
-
setDict
public ZstdInputStreamNoFinalizer setDict(ZstdDictDecompress dict) throws java.io.IOException
- Throws:
java.io.IOException
-
setLongMax
public ZstdInputStreamNoFinalizer setLongMax(int windowLogMax) throws java.io.IOException
- Throws:
java.io.IOException
-
setRefMultipleDDicts
public ZstdInputStreamNoFinalizer setRefMultipleDDicts(boolean useMultiple) throws java.io.IOException
- Throws:
java.io.IOException
-
read
public int read(byte[] dst, int offset, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classjava.io.FilterInputStream
-
skip
public long skip(long numBytes) throws java.io.IOException
- Overrides:
skip
in classjava.io.FilterInputStream
- 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.FilterInputStream
- Throws:
java.io.IOException
-
-