Package com.logicaldoc.util.io
Class LimitedInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
com.logicaldoc.util.io.LimitedInputStream
- All Implemented Interfaces:
- Closeable,- AutoCloseable
This is a decorator that limits a given input stream to a maximum size
- Since:
- 7.6.3
- Author:
- Marco Meschieri - LogicalDOC
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintvoidmark(int readLimit) intread()intread(byte[] b, int off, int len) static intread(InputStream in, byte[] b, int off, int len) Reads some bytes from an input stream and stores them into the buffer arrayb.static voidreadFully(InputStream in, byte[] b) Attempts to read enough bytes from the stream to fill the given byte array, with the same behavior asDataInput.readFully(byte[]).static voidreadFully(InputStream in, byte[] b, int off, int len) Attempts to readlenbytes from the stream into the given array starting atoff, with the same behavior asDataInput.readFully(byte[], int, int).voidreset()longskip(long n) static voidskipFully(InputStream in, long n) Discardsnbytes of data from the input stream.Methods inherited from class java.io.FilterInputStreamclose, markSupported, readMethods inherited from class java.io.InputStreamnullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
- 
Constructor Details- 
LimitedInputStream
 
- 
- 
Method Details- 
available- Overrides:
- availablein class- FilterInputStream
- Throws:
- IOException
 
- 
markpublic void mark(int readLimit) - Overrides:
- markin class- FilterInputStream
 
- 
read- Overrides:
- readin class- FilterInputStream
- Throws:
- IOException
 
- 
read- Overrides:
- readin class- FilterInputStream
- Throws:
- IOException
 
- 
reset- Overrides:
- resetin class- FilterInputStream
- Throws:
- IOException
 
- 
skip- Overrides:
- skipin class- FilterInputStream
- Throws:
- IOException
 
- 
readFullyAttempts to read enough bytes from the stream to fill the given byte array, with the same behavior asDataInput.readFully(byte[]). Does not close the stream.- Parameters:
- in- the input stream to read from.
- b- the buffer into which the data is read.
- Throws:
- EOFException- if this stream reaches the end before reading all the bytes.
- IOException- if an I/O error occurs.
 
- 
readFullyAttempts to readlenbytes from the stream into the given array starting atoff, with the same behavior asDataInput.readFully(byte[], int, int). Does not close the stream.- Parameters:
- in- the input stream to read from.
- b- the buffer into which the data is read.
- off- an int specifying the offset into the data.
- len- an int specifying the number of bytes to read.
- Throws:
- EOFException- if this stream reaches the end before reading all the bytes.
- IOException- if an I/O error occurs.
 
- 
skipFullyDiscardsnbytes of data from the input stream. This method will block until the full amount has been skipped. Does not close the stream.- Parameters:
- in- the input stream to read from
- n- the number of bytes to skip
- Throws:
- EOFException- if this stream reaches the end before skipping all the bytes
- IOException- if an I/O error occurs, or the stream does not support skipping
 
- 
readReads some bytes from an input stream and stores them into the buffer arrayb. This method blocks untillenbytes of input data have been read into the array, or end of file is detected. The number of bytes read is returned, possibly zero. Does not close the stream.A caller can detect EOF if the number of bytes read is less than len. All subsequent calls on the same stream will return zero.If bis null, aNullPointerExceptionis thrown. Ifoffis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, then anIndexOutOfBoundsExceptionis thrown. Iflenis zero, then no bytes are read. Otherwise, the first byte read is stored into elementb[off], the next one intob[off+1], and so on. The number of bytes read is, at most, equal tolen.- Parameters:
- in- the input stream to read from
- b- the buffer into which the data is read
- off- an int specifying the offset into the data
- len- an int specifying the number of bytes to read
- Returns:
- the number of bytes read
- Throws:
- IOException- if an I/O error occurs
 
 
-