Package org.firebirdsql.jdbc
Class FBBlobOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.firebirdsql.jdbc.FBBlobOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
,FirebirdBlob.BlobOutputStream
public final class FBBlobOutputStream extends java.io.OutputStream implements FirebirdBlob.BlobOutputStream
OutputStream
for writing Firebird blobs.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close this stream.void
flush()
FirebirdBlob
getBlob()
Get instance ofFirebirdBlob
to which this stream belongs to.long
length()
Get Blob length.void
write(byte[] b, int off, int len)
Write data from the buffer into this stream.void
write(int b)
Write single byte into the stream.
-
-
-
Method Detail
-
getBlob
public FirebirdBlob getBlob()
Description copied from interface:FirebirdBlob.BlobOutputStream
Get instance ofFirebirdBlob
to which this stream belongs to.Note, code
FirebirdBlob.BlobOutputStream otherStream = (FirebirdBlob.BlobOutputStream) inputStream.getBlob().setBinaryStream(1);
will return new stream object.- Specified by:
getBlob
in interfaceFirebirdBlob.BlobOutputStream
- Returns:
- instance of
FirebirdBlob
.
-
length
public long length() throws java.io.IOException
Description copied from interface:FirebirdBlob.BlobOutputStream
Get Blob length. This method is the only available way to obtain length of a Blob that is in temporary state,- Specified by:
length
in interfaceFirebirdBlob.BlobOutputStream
- Returns:
- length of the blob.
- Throws:
java.io.IOException
- if I/O error occurs.
-
write
public void write(int b) throws java.io.IOException
Write single byte into the stream.Writes are buffered up to the buffer length of the blob (optionally specified by the connection property
blobBufferSize
).- Specified by:
write
in interfaceFirebirdBlob.BlobOutputStream
- Specified by:
write
in classjava.io.OutputStream
- Parameters:
b
- data to write, only lowest 8 bits are written.- Throws:
java.io.IOException
- if I/O error occurs.
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException
Write data from the buffer into this stream.Writes are buffered up to the buffer length of the blob (optionally specified by the connection property
blobBufferSize
).- Specified by:
write
in interfaceFirebirdBlob.BlobOutputStream
- Overrides:
write
in classjava.io.OutputStream
- Parameters:
b
- buffer from which data should be written.off
- offset in the buffer.len
- number of bytes to write.- Throws:
java.io.IOException
- if I/O error occurs.
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
Description copied from interface:FirebirdBlob.BlobOutputStream
Close this stream. Calling this method closes Blob stream and moves Blob from temporary into permanent state making any further content updates impossible.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceFirebirdBlob.BlobOutputStream
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
- if I/O error occurs.
-
-