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.InputStream
Wraps 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 int
available()
void
close()
static java.util.zip.GZIPInputStream
createGZIPInputStream(java.io.InputStream in, int maxBytes)
int
getBytesLeft()
int
read()
int
read(byte[] buffer)
int
read(byte[] buffer, int offset, int count)
long
skip(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:
available
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] buffer, int offset, int count) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] buffer) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
skip
public long skip(long byteCount) throws java.io.IOException
- Overrides:
skip
in classjava.io.InputStream
- 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.InputStream
- Throws:
java.io.IOException
-
getBytesLeft
public int getBytesLeft()
-
-