public static interface FirebirdBlob.BlobInputStream
InputStream
only because it is abstract class and not interface
that we can extend.Modifier and Type | Field and Description |
---|---|
static int |
SEEK_MODE_ABSOLUTE
Seek based on the absolute beginning of the stream
|
static int |
SEEK_MODE_FROM_TAIL
Seek relative to the tail end of the stream
|
static int |
SEEK_MODE_RELATIVE
Seek relative to the current position in the stream
|
Modifier and Type | Method and Description |
---|---|
int |
available()
Get number of available bytes that can be read without blocking.
|
void |
close()
Close this stream.
|
FirebirdBlob |
getBlob()
Get instance of
FirebirdBlob to which this stream belongs to. |
long |
length()
Get Blob length.
|
int |
read()
Read single byte from the stream.
|
int |
read(byte[] buffer,
int offset,
int length)
Read some bytes from the stream without blocking.
|
void |
readFully(byte[] buffer)
Read
buffer.length bytes from the buffer. |
void |
readFully(byte[] buffer,
int offset,
int length)
Read
length from the stream into the specified buffer. |
void |
seek(int position)
Move current position in the Blob stream.
|
void |
seek(int position,
int seekMode)
Move current position in the Blob stream.
|
static final int SEEK_MODE_ABSOLUTE
static final int SEEK_MODE_RELATIVE
static final int SEEK_MODE_FROM_TAIL
FirebirdBlob getBlob()
FirebirdBlob
to which this stream belongs to.
Note, code
FirebirdBlob.BlobInputStream otherStream = (FirebirdBlob.BlobInputStream) inputStream.getBlob().getBinaryStream();will return new stream object.
FirebirdBlob
.int available() throws java.io.IOException
java.io.IOException
- if I/O error occured.void close() throws java.io.IOException
java.io.IOException
- if I/O error occurs.long length() throws java.io.IOException
inputStream.getBlob().length()
call, however is more
resource friendly, because no new Blob handle is created.java.io.IOException
- if I/O error occurs.int read() throws java.io.IOException
java.io.IOException
- if I/O error occurs.int read(byte[] buffer, int offset, int length) throws java.io.IOException
buffer
- buffer into which data should be read.offset
- offset in the buffer where to start.length
- number of bytes to read.java.io.IOException
- if I/O error occurs.void readFully(byte[] buffer, int offset, int length) throws java.io.IOException
length
from the stream into the specified buffer.
This method can block until desired number of bytes is read, it can
throw an exception if end of stream was reached during read.buffer
- buffer where data should be read.offset
- offset in the buffer where to start.length
- number of bytes to read.java.io.EOFException
- if stream end was reached when reading data.java.io.IOException
- if I/O error occurs.void readFully(byte[] buffer) throws java.io.IOException
buffer.length
bytes from the buffer. This is a
shortcut method for readFully(buffer, 0, buffer.length)
call.buffer
- buffer where data should be read.java.io.IOException
- if I/O error occurs.void seek(int position) throws java.io.IOException
seek(int, int)
passing SEEK_MODE_ABSOLUTE
as
seek mode.position
- absolute position to seek, starting position is
0 (note, in Blob.getBytes(long, int)
starting position is 1).java.io.IOException
- if I/O error occurs.void seek(int position, int seekMode) throws java.io.IOException
Note, this method allows to move position in the Blob stream only forward. If you need to read data before the current position, new stream must be opened.
position
- position in the stream, starting position is
0 (note, in Blob.getBytes(long, int)
starting position is 1).seekMode
- mode of seek operation, one of SEEK_MODE_ABSOLUTE
,
SEEK_MODE_RELATIVE
or SEEK_MODE_FROM_TAIL
.java.io.IOException
- if I/O erro occurs.Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.