Since: API Level 1
public interface

Blob

java.sql.Blob

Class Overview

A Java interface representing the SQL BLOB type.

An SQL BLOB type stores a large array of binary data (bytes) as the value in a column of a database.

The java.sql.Blob interface provides methods for setting and retrieving data in the Blob, for querying Blob data length, and for searching for data within the Blob.

Summary

Public Methods
abstract InputStream getBinaryStream()
Retrieves this Blob object as a binary stream.
abstract byte[] getBytes(long pos, int length)
Gets a portion of the value of this Blob as an array of bytes.
abstract long length()
Gets the number of bytes in this Blob object.
abstract long position(byte[] pattern, long start)
Search for the position in this Blob at which the specified pattern begins, starting at a specified position within the Blob.
abstract long position(Blob pattern, long start)
Search for the position in this Blob at which a specified pattern begins, starting at a specified position within the Blob.
abstract OutputStream setBinaryStream(long pos)
Gets a stream that can be used to write binary data to this Blob.
abstract int setBytes(long pos, byte[] theBytes, int offset, int len)
Writes a portion of a specified byte array to this Blob.
abstract int setBytes(long pos, byte[] theBytes)
Writes a specified array of bytes to this Blob object, starting at a specified position.
abstract void truncate(long len)
Truncate the value of this Blob object to a specified length in bytes.

Public Methods

public abstract InputStream getBinaryStream ()

Since: API Level 1

Retrieves this Blob object as a binary stream.

Returns
  • a binary InputStream giving access to the Blob data.
Throws
SQLException if an error occurs accessing the Blob.

public abstract byte[] getBytes (long pos, int length)

Since: API Level 1

Gets a portion of the value of this Blob as an array of bytes.

Parameters
pos the position of the first byte in the Blob to get, where the first byte in the Blob has position 1.
length the number of bytes to get.
Returns
  • a byte array containing the data from the Blob, starting at pos and is up to length bytes long.
Throws
SQLException if an error occurs accessing the Blob.

public abstract long length ()

Since: API Level 1

Gets the number of bytes in this Blob object.

Returns
  • a long value with the length of the Blob in bytes.
Throws
SQLException if an error occurs accessing the Blob.

public abstract long position (byte[] pattern, long start)

Since: API Level 1

Search for the position in this Blob at which the specified pattern begins, starting at a specified position within the Blob.

Parameters
pattern a byte array containing the pattern of data to search for in this Blob.
start the position within this Blob to start the search, where the first position in the Blob is 1.
Returns
  • a long value with the position at which the pattern begins. Returns -1 if the pattern is not found in this Blob.
Throws
SQLException if an error occurs accessing the Blob.

public abstract long position (Blob pattern, long start)

Since: API Level 1

Search for the position in this Blob at which a specified pattern begins, starting at a specified position within the Blob.

Parameters
pattern a Blob containing the pattern of data to search for in this Blob.
start the position within this Blob to start the search, where the first position in the Blob is 1.
Returns
  • a long value with the position at which the pattern begins. Returns -1 if the pattern is not found in this Blob.
Throws
SQLException if an error occurs accessing the Blob.

public abstract OutputStream setBinaryStream (long pos)

Since: API Level 1

Gets a stream that can be used to write binary data to this Blob.

Parameters
pos the position within this Blob at which to start writing, where the first position in the Blob is 1.
Returns
  • a binary InputStream which can be used to write data into the Blob starting at the specified position.
Throws
SQLException if an error occurs accessing the Blob.

public abstract int setBytes (long pos, byte[] theBytes, int offset, int len)

Since: API Level 1

Writes a portion of a specified byte array to this Blob. Returns the number of bytes written.

Parameters
pos the position within this Blob at which to start writing, where the first position in the Blob is 1.
theBytes an array of bytes to write into the Blob.
offset the offset into the byte array from which to start writing data - the first byte in the array has offset 0.
len the length of data to write in number of bytes.
Returns
  • an integer containing the number of bytes written to the Blob.
Throws
SQLException if an error occurs accessing the Blob.

public abstract int setBytes (long pos, byte[] theBytes)

Since: API Level 1

Writes a specified array of bytes to this Blob object, starting at a specified position. Returns the number of bytes written.

Parameters
pos the position within this Blob at which to start writing, where the first position in the Blob is 1.
theBytes an array of bytes to write into the Blob.
Returns
  • an integer containing the number of bytes written to the Blob.
Throws
SQLException if an error occurs accessing the Blob.

public abstract void truncate (long len)

Since: API Level 1

Truncate the value of this Blob object to a specified length in bytes.

Parameters
len the length of data in bytes after which this Blob is to be truncated.
Throws
SQLException if an error occurs accessing the Blob.