Класс SerialBlob
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Blob
public class SerialBlob extends Object implements Blob, Serializable, Cloneable
BLOB. Класс SerialBlob предоставляет конструктор для создания экземпляра из объекта Blob. Обратите внимание, что объект Blob должен был передать данные значения SQL BLOB на клиент перед тем, как объект SerialBlob будет построен из него. Данные значения SQL BLOB могут быть материализованы на клиенте в виде массива байтов (используя метод Blob.getBytes) или в виде потока неинтерпретированных байтов (используя метод Blob.getBinaryStream).
Методы SerialBlob позволяют создать копию объекта SerialBlob в виде массива байтов или потока. Они также позволяют найти заданный шаблон байтов или объект Blob внутри объекта SerialBlob, а также обновить или усечить объект Blob.
Безопасность потоков
Объект SerialBlob не безопасен для использования несколькими одновременными потоками. Если SerialBlob будет использоваться более чем одним потоком, доступ к SerialBlob должен контролироваться соответствующей синхронизацией.
- С:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SerialBlob |
Создает объект SerialBlob, являющийся сериализованной версией заданного массива byte. |
SerialBlob |
Создает объект SerialBlob, являющийся сериализованной версией заданного объекта Blob. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает клон этого объекта SerialBlob. |
boolean |
equals |
Сравнивает этот SerialBlob с указанным объектом. |
void |
free() |
Этот метод освобождает объект SerialBlob и высвобождает ресурсы, которые он удерживает. |
InputStream |
getBinaryStream() |
Возвращает этот объект SerialBlob в виде входного потока. |
InputStream |
getBinaryStream |
Возвращает объект InputStream, содержащий частичное значение Blob, начиная с байта, указанного pos, длиной в length байтов. |
byte[] |
getBytes |
Копирует указанное количество байтов, начиная с заданной позиции, из этого объекта SerialBlob в другой массив байтов. |
int |
hashCode() |
Возвращает хэш-код для этого объекта SerialBlob. |
long |
length() |
Возвращает количество байтов в массиве байтов этого объекта SerialBlob. |
long |
position |
Возвращает позицию в этом объекте SerialBlob, где начинается заданный шаблон байтов, начиная поиск с указанной позиции. |
long |
position |
Возвращает позицию в этом объекте SerialBlob, где начинается заданный объект Blob, начиная поиск с указанной позиции. |
OutputStream |
setBinaryStream |
Возвращает поток, который можно использовать для записи в значение BLOB, которое представляет этот объект Blob. |
int |
setBytes |
Записывает заданный массив байтов в значение BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов. |
int |
setBytes |
Записывает весь или часть заданного массива byte в значение BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов. |
void |
truncate |
Усекает значение BLOB, которое представляет этот объект Blob, до len байтов длиной. |
Подробное описание конструкторов
SerialBlob
public SerialBlob(byte[] b) throws SerialException, SQLException
SerialBlob, являющийся сериализованной версией заданного массива byte. Новый объект SerialBlob инициализируется данными из массива byte, что позволяет отключенным объектам RowSet создавать сериализованные объекты Blob без обращения к источнику данных.
- Параметры:
-
b- массивbyte, содержащий данные для сериализуемого объектаBlob - Исключения:
-
SerialException- если при сериализации произошла ошибка -
SQLException- если произошла ошибка SQL
SerialBlob
public SerialBlob(Blob blob) throws SerialException, SQLException
SerialBlob, являющийся сериализованной версией заданного объекта Blob. Новый объект SerialBlob инициализируется данными из объекта Blob; поэтому объект Blob должен был предварительно загрузить данные из SQL-значения BLOB на клиентскую сторону из базы данных. В противном случае новый объект SerialBlob не будет содержать данных.
- Параметры:
-
blob- объектBlob, из которого должен быть создан этот объектSerialBlob; не может быть null. - Исключения:
-
SerialException- если при сериализации произошла ошибка -
SQLException- если объектBlob, переданный в конструктор, является объектомnull. - См. также:
Подробное описание методов
getBytes
public byte[] getBytes(long pos, int length) throws SerialException
SerialBlob в другой массив байтов. Обратите внимание, что если заданное количество байтов для копирования больше, чем длина массива байтов этого объекта SerialBlob, заданное число будет сокращено до длины массива.
- Определено в:
-
getBytesв интерфейсеBlob - Параметры:
-
pos- порядковый номер первой позиции байта в этом объектеSerialBlobдля копирования; нумерация начинается с1; не должно быть меньше1и должно быть меньше или равно длине этого объектаSerialBlob -
length- количество байтов для копирования - Возвращает:
- массив байтов, являющийся копией области этого объекта
SerialBlob, начиная с заданной позиции и содержащий заданное количество последовательных байтов - Исключения:
-
SerialException- если заданная начальная позиция находится вне границ; если методfreeбыл ранее вызван для этого объекта - См. также:
length
public long length() throws SerialException
SerialBlob.- Определено в:
-
lengthв интерфейсеBlob - Возвращает:
- значение
long, указывающее длину в байтах массива байтов этого объектаSerialBlob - Исключения:
-
SerialException- если произошла ошибка; если методfreeбыл ранее вызван для этого объекта
getBinaryStream
public InputStream getBinaryStream() throws SerialException
SerialBlob в виде потока ввода. В отличие от связанного метода setBinaryStream, поток создается независимо от того, был ли объект SerialBlob создан с объектом Blob или массивом byte.- Определено в:
-
getBinaryStreamв интерфейсеBlob - Возвращает:
- объект
java.io.InputStream, который содержит массив байтов этого объектаSerialBlob - Исключения:
-
SerialException- если произошла ошибка; если методfreeбыл ранее вызван для этого объекта - См. также:
position
public long position(byte[] pattern, long start) throws SerialException, SQLException
SerialBlob, где начинается заданная последовательность байтов, начиная поиск с указанной позиции.- Определено в:
-
positionв интерфейсеBlob - Параметры:
-
pattern- последовательность байтов, которую нужно найти -
start- позиция байта в этом объектеSerialBlob, с которой следует начать поиск; первая позиция —1; не должно быть меньше1и не должно быть больше длины этого объектаSerialBlob - Возвращает:
- позицию в этом объекте
SerialBlob, где начинается заданная последовательность, начиная с указанной позиции;-1, если последовательность не найдена или заданная начальная позиция находится вне границ; нумерация позиций для возвращаемого значения начинается с1 - Исключения:
-
SerialException- если при сериализации blob произошла ошибка; если методfreeбыл ранее вызван для этого объекта -
SQLException- если при доступе к значениюBLOBиз базы данных произошла ошибка
position
public long position(Blob pattern, long start) throws SerialException, SQLException
SerialBlob, где начинается заданный объект Blob, начиная поиск с указанной позиции.- Определено в:
-
positionв интерфейсеBlob - Параметры:
-
pattern- объектBlob, который нужно найти; -
start- позиция байта в этом объектеSerialBlob, с которой следует начать поиск; первая позиция —1; не должно быть меньше1и не должно быть больше длины этого объектаSerialBlob - Возвращает:
- позицию в этом объекте
SerialBlob, где начинается заданный объектBlob, начиная с указанной позиции;-1, если последовательность не найдена или заданная начальная позиция находится вне границ; нумерация позиций для возвращаемого значения начинается с1 - Исключения:
-
SerialException- если при сериализации blob произошла ошибка; если методfreeбыл ранее вызван для этого объекта -
SQLException- если при доступе к значениюBLOBиз базы данных произошла ошибка
setBytes
public int setBytes(long pos, byte[] bytes) throws SerialException, SQLException
BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов.- Определено в:
-
setBytesв интерфейсеBlob - Параметры:
-
pos- позиция в значении SQLBLOB, с которой начать запись. Первая позиция —1; не должно быть меньше1и не должно быть больше длины + 1 этого объектаSerialBlob. -
bytes- массив байтов, который необходимо записать в значениеBLOB, представляемое этим объектомBlob - Возвращает:
- количество записанных байтов
- Исключения:
-
SerialException- если при доступе к значениюBLOBпроизошла ошибка; или если установлена недопустимая позиция; если методfreeбыл ранее вызван для этого объекта -
SQLException- если при доступе к значениюBLOBиз базы данных произошла ошибка - См. также:
setBytes
public int setBytes(long pos, byte[] bytes, int offset, int length) throws SerialException, SQLException
byte в значение BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов. Запись начинается с позиции pos в значении BLOB; записывается length байта из заданного массива байтов.- Указано в:
-
setBytesв интерфейсеBlob - Параметры:
-
pos- позиция в объектеBLOB, с которой начать запись. Первая позиция -1; не должна быть меньше1и больше длины + 1 этого объектаSerialBlob. -
bytes- массив байтов, которые будут записаны в значениеBLOB. -
offset- смещение в массивеbyte, с которого начинать чтение байтов для установки. Первая позиция смещения -0; не должна быть меньше0и больше длины массиваbyte. -
length- количество байтов, которые будут записаны в значениеBLOBиз массива байтовbyte. - Возвращает:
- количество записанных байтов
- Исключения:
-
SerialException- если возникла ошибка доступа к значениюBLOB; если установлена неверная позиция; если установлено неверное значение смещения; или комбинированные значенияlengthиoffsetбольше длиныbyte; если методfreeбыл ранее вызван для этого объекта. -
SQLException- если возникла ошибка доступа к значениюBLOBиз базы данных. - См. также:
setBinaryStream
public OutputStream setBinaryStream(long pos) throws SerialException, SQLException
BLOB, которое представляет этот объект Blob. Поток начинается с позиции pos. Этот метод передает вызов setBinaryStream() методу основного Blob в случае, если этот объект SerialBlob создан с Blob. Если этот объект SerialBlob создан с массивом byte, генерируется исключение SerialException.- Указано в:
-
setBinaryStreamв интерфейсеBlob - Параметры:
-
pos- позиция в значенииBLOB, с которой начать запись - Возвращает:
- объект
java.io.OutputStream, в который можно записать данные - Исключения:
-
SQLException- если возникла ошибка доступа к значениюBLOB. -
SerialException- если SerialBlob не создан с объектомBlob, который поддерживаетsetBinaryStream(); если методfreeбыл ранее вызван для этого объекта. - См. также:
truncate
public void truncate(long length) throws SerialException
BLOB, которое представляет этот объект Blob, до длины len байт.- Указано в:
-
truncateв интерфейсеBlob - Параметры:
-
length- длина в байтах, до которой должно быть усечено значениеBLOB, которое представляет этот объектBlob. - Исключения:
-
SerialException- если возникла ошибка доступа к значению Blob; или длина усечения больше длины SerialBlob; если методfreeбыл ранее вызван для этого объекта.
getBinaryStream
public InputStream getBinaryStream(long pos, long length) throws SQLException
InputStream, который содержит частичное значение Blob, начиная с байта, указанного в pos, длиной в length байт.- Указано в:
-
getBinaryStreamв интерфейсеBlob - Параметры:
-
pos- смещение до первого байта частичного значения для извлечения. Первый байт вBlobнаходится на позиции 1. -
length- длина в байтах частичного значения для извлечения. - Возвращает:
-
объект
InputStream, через который можно прочитать частичное значениеBlob. - Исключения:
-
SQLException- если pos меньше 1 или если pos больше количества байтов вBlob, или если pos + length больше количества байтов вBlob. -
SerialException- если методfreeбыл ранее вызван для этого объекта. - С момента:
- 1.6
free
public void free() throws SQLException
SerialBlob и высвобождает ресурсы, которые он удерживает. Объект становится недействительным после вызова метода free. Если free вызывается несколько раз, последующие вызовы free обрабатываются как no-op.
- Указано в:
-
freeв интерфейсеBlob - Исключения:
-
SQLException- если возникла ошибка при высвобождении ресурсов Blob - С момента:
- 1.6
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не null и является объектом
SerialBlob, представляющим ту же последовательность байтов, что и этот объект.hashCode
clone
public Object clone()
SerialBlob. Копия будет содержать ссылку на клон внутреннего массива байтов, а не на ссылку на исходный внутренний массив байтов этого объекта SerialBlob. Внутренний объект Blob будет установлен в null.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html