Package java.sql

Interface Blob


public interface Blob
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.

  • Method Summary

    Modifier and Type Method Description
    void free()
    Frees any resources held by this blob.
    InputStream getBinaryStream()
    Retrieves this Blob object as a binary stream.
    InputStream getBinaryStream​(long pos, long length)
    Retrieves length bytes from this Blob, starting at 1-based offset pos, and returns them as a binary stream.
    byte[] getBytes​(long pos, int length)
    Gets a portion of the value of this Blob as an array of bytes.
    long length()
    Gets the number of bytes in this Blob object.
    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.
    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.
    OutputStream setBinaryStream​(long pos)
    Gets a stream that can be used to write binary data to this Blob.
    int setBytes​(long pos, byte[] theBytes)
    Writes a specified array of bytes to this Blob object, starting at a specified position.
    int setBytes​(long pos, byte[] theBytes, int offset, int len)
    Writes a portion of a specified byte array to this Blob.
    void truncate​(long len)
    Truncate the value of this Blob object to a specified length in bytes.
  • Method Details

    • getBinaryStream

      InputStream getBinaryStream() throws SQLException
      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.
    • getBinaryStream

      InputStream getBinaryStream​(long pos, long length) throws SQLException
      Retrieves length bytes from this Blob, starting at 1-based offset pos, and returns them as a binary stream.
      Returns:
      a binary InputStream giving access to the Blob data.
      Throws:
      SQLException - if an error occurs accessing the Blob.
    • getBytes

      byte[] getBytes​(long pos, int length) throws SQLException
      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.
    • length

      long length() throws SQLException
      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.
    • position

      long position​(Blob pattern, long start) throws SQLException
      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.
    • position

      long position​(byte[] pattern, long start) throws SQLException
      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.
    • setBinaryStream

      OutputStream setBinaryStream​(long pos) throws SQLException
      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.
    • setBytes

      int setBytes​(long pos, byte[] theBytes) throws SQLException
      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.
    • setBytes

      int setBytes​(long pos, byte[] theBytes, int offset, int len) throws SQLException
      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.
    • truncate

      void truncate​(long len) throws SQLException
      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.
    • free

      void free() throws SQLException
      Frees any resources held by this blob. After free is called, calling method other than free will throw SQLException (calling free repeatedly will do nothing).
      Throws:
      SQLException