Package org.apache.tika.io
Class BoundedInputStream
java.lang.Object
java.io.InputStream
org.apache.tika.io.BoundedInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
Very slight modification of Commons' BoundedInputStream
so that we can figure out if this hit the bound or not.
This relies on IOUtils' skip and read to try to fully read/skip inputstream.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintlonggetPos()booleanvoidmark(int readLimit) booleanintread()intread(byte[] b) Invokes the delegate'sread(byte[])method.intread(byte[] b, int off, int len) Invokes the delegate'sread(byte[], int, int)method.intreadNBytes(byte[] b, int off, int len) byte[]readNBytes(int len) voidreset()longskip(long n) Invokes the delegate'sskip(long)method.longtransferTo(OutputStream out) Methods inherited from class java.io.InputStream
close, nullInputStream, readAllBytes
-
Constructor Details
-
BoundedInputStream
-
-
Method Details
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
read
Invokes the delegate'sread(byte[])method.- Overrides:
readin classInputStream- Parameters:
b- the buffer to read the bytes into- Returns:
- the number of bytes read or -1 if the end of stream or the limit has been reached.
- Throws:
IOException- if an I/O error occurs
-
read
Invokes the delegate'sread(byte[], int, int)method.This does not have the same guarantees as IOUtil's readFully()...be careful.
- Overrides:
readin classInputStream- Parameters:
b- the buffer to read the bytes intooff- The start offsetlen- The number of bytes to read- Returns:
- the number of bytes read or -1 if the end of stream or the limit has been reached.
- Throws:
IOException- if an I/O error occurs
-
skip
Invokes the delegate'sskip(long)method. As with InputStream generally, this does not guarantee reading n bytes. Use IOUtils' skipFully for that functionality.- Overrides:
skipin classInputStream- Parameters:
n- the number of bytes to skip- Returns:
- the actual number of bytes skipped
- Throws:
IOException- if an I/O error occurs
-
reset
- Overrides:
resetin classInputStream- Throws:
IOException
-
mark
public void mark(int readLimit) - Overrides:
markin classInputStream
-
hasHitBound
public boolean hasHitBound() -
readNBytes
- Overrides:
readNBytesin classInputStream- Throws:
IOException
-
readNBytes
- Overrides:
readNBytesin classInputStream- Throws:
IOException
-
available
- Overrides:
availablein classInputStream- Throws:
IOException
-
markSupported
public boolean markSupported()- Overrides:
markSupportedin classInputStream
-
transferTo
- Overrides:
transferToin classInputStream- Throws:
IOException
-
getPos
public long getPos()
-