Package org.h2.store
Class CountingReaderInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.h2.store.CountingReaderInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class CountingReaderInputStream extends java.io.InputStream
An input stream that reads the data from a reader and limits the number of bytes that can be read.
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBuffer
byteBuffer
private java.nio.CharBuffer
charBuffer
private java.nio.charset.CharsetEncoder
encoder
private long
length
private java.io.Reader
reader
private long
remaining
-
Constructor Summary
Constructors Constructor Description CountingReaderInputStream(java.io.Reader reader, long maxLength)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
private boolean
fetch()
private void
fillBuffer()
long
getLength()
The number of characters read so far (but there might still be some bytes in the buffer).int
read()
int
read(byte[] buff, int offset, int len)
-
-
-
Method Detail
-
read
public int read(byte[] buff, int offset, int len) throws java.io.IOException
- Overrides:
read
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
-
fetch
private boolean fetch() throws java.io.IOException
- Throws:
java.io.IOException
-
fillBuffer
private void fillBuffer() throws java.io.IOException
- Throws:
java.io.IOException
-
getLength
public long getLength()
The number of characters read so far (but there might still be some bytes in the buffer).- Returns:
- the number of characters
-
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
-
-