Package org.jsoup.internal
Class ConstrainableInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
org.jsoup.internal.ConstrainableInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class ConstrainableInputStream extends BufferedInputStream
A jsoup internal class (so don't use it as there is no contract API) that enables constraints on an Input Stream,
namely a maximum read size, and the ability to Thread.interrupt() the read.
-
Field Summary
-
Method Summary
Modifier and Type Method Description int
read(byte[] b, int off, int len)
ByteBuffer
readToByteBuffer(int max)
Reads this inputstream to a ByteBuffer.void
reset()
ConstrainableInputStream
timeout(long startTimeNanos, long timeoutMillis)
static ConstrainableInputStream
wrap(InputStream in, int bufferSize, int maxSize)
If this InputStream is not already a ConstrainableInputStream, let it be one.Methods inherited from class java.io.BufferedInputStream
available, close, mark, markSupported, read, skip
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Method Details
-
wrap
If this InputStream is not already a ConstrainableInputStream, let it be one.- Parameters:
in
- the input stream to (maybe) wrapbufferSize
- the buffer size to use when readingmaxSize
- the maximum size to allow to be read. 0 == infinite.- Returns:
- a constrainable input stream
-
read
- Overrides:
read
in classBufferedInputStream
- Throws:
IOException
-
readToByteBuffer
Reads this inputstream to a ByteBuffer. The supplied max may be less than the inputstream's max, to support reading just the first bytes.- Throws:
IOException
-
reset
- Overrides:
reset
in classBufferedInputStream
- Throws:
IOException
-
timeout
-