Package org.greenrobot.essentials.io
Class LimitedInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.greenrobot.essentials.io.LimitedInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class LimitedInputStream extends java.io.InputStreamWraps around an InputStream and limits the amount of bytes that can be read from it. Use it if you operate on an InputStream that consists of chunks of a know size, each to be processed using a buffered input stream (e.g. GZIPInputStream). Normal buffered input streams would read beyond the limit. The LimitedInputStream never closes the inside InputStream(close does nothing).
-
-
Constructor Summary
Constructors Constructor Description LimitedInputStream(java.io.InputStream in, int maxBytes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()static java.util.zip.GZIPInputStreamcreateGZIPInputStream(java.io.InputStream in, int maxBytes)intgetBytesLeft()intread()intread(byte[] buffer)intread(byte[] buffer, int offset, int count)longskip(long byteCount)
-
-
-
Method Detail
-
createGZIPInputStream
public static java.util.zip.GZIPInputStream createGZIPInputStream(java.io.InputStream in, int maxBytes) throws java.io.IOException- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] buffer, int offset, int count) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] buffer) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
skip
public long skip(long byteCount) throws java.io.IOException- Overrides:
skipin classjava.io.InputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
getBytesLeft
public int getBytesLeft()
-
-