public class VisibleBufferedInputStream extends InputStream
Constructor and Description |
---|
VisibleBufferedInputStream(InputStream in,
int bufferSize)
Creates a new buffer around the given stream.
|
Modifier and Type | Method and Description |
---|---|
int |
available() |
void |
close() |
boolean |
ensureBytes(int n)
Ensures that the buffer contains at least n bytes.
|
boolean |
ensureBytes(int n,
boolean block)
Ensures that the buffer contains at least n bytes.
|
byte[] |
getBuffer()
Returns direct handle to the used buffer.
|
int |
getIndex()
Returns the current read position in the buffer.
|
InputStream |
getWrapped() |
int |
peek()
Reads a byte from the buffer without advancing the index pointer.
|
int |
read() |
int |
read(byte[] to,
int off,
int len) |
byte |
readRaw()
Reads byte from the buffer without any checks.
|
int |
scanCStringLength()
Scans the length of the next null terminated string (C-style string) from the stream.
|
void |
setTimeoutRequested(boolean timeoutRequested) |
long |
skip(long n) |
mark, markSupported, read, reset
public VisibleBufferedInputStream(InputStream in, int bufferSize)
in
- The stream to buffer.bufferSize
- The initial size of the buffer.public int read() throws IOException
read
in class InputStream
IOException
public int peek() throws IOException
IOException
- if something wrong happenspublic byte readRaw()
ensureBytes(int)
method must have been called.ArrayIndexOutOfBoundsException
- If ensureBytes was not called to make sure the buffer
contains the byte.public boolean ensureBytes(int n) throws IOException
n
- The amount of bytes to ensure exists in bufferIOException
- If reading of the wrapped stream failed.public boolean ensureBytes(int n, boolean block) throws IOException
n
- The amount of bytes to ensure exists in bufferblock
- whether or not to block the IOIOException
- If reading of the wrapped stream failed.public int read(byte[] to, int off, int len) throws IOException
read
in class InputStream
IOException
public long skip(long n) throws IOException
skip
in class InputStream
IOException
public int available() throws IOException
available
in class InputStream
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class InputStream
IOException
public byte[] getBuffer()
ensureBytes(int)
to prefill required
bytes the buffer and getIndex()
to fetch the current position of the buffer.public int getIndex()
public int scanCStringLength() throws IOException
IOException
- If reading of stream fails.EOFException
- If the stream did not contain any null terminators.public void setTimeoutRequested(boolean timeoutRequested)
public InputStream getWrapped()
Copyright © 1997-2020 PostgreSQL Global Development Group. All Rights Reserved.