Класс SerialBlob
- Все реализуемые интерфейсы:
Serializable, Cloneable, Blob
public class SerialBlob extends Object implements Blob, Serializable, Cloneable
BLOB на языке программирования Java. Класс SerialBlob предоставляет конструктор для создания экземпляра из объекта Blob. Обратите внимание, что объект Blob должен был передать данные значения SQL BLOB на клиент до создания из него объекта SerialBlob. Данные значения SQL BLOB можно материализовать на клиенте в виде массива байтов (с помощью метода Blob.getBytes) или потока необработанных байтов (с помощью метода Blob.getBinaryStream).
Методы SerialBlob позволяют создать копию объекта SerialBlob в виде массива байтов или потока. Они также позволяют найти заданный шаблон байтов или объект Blob в объекте SerialBlob, а также обновить или усечь объект Blob.
Потокобезопасность
Объект 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или больше длины этого объектаSerialBlob+ 1. -
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или больше длины этого объектаSerialBlob+ 1. -
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. Если этот объект SerialBlob создан с объектом Blob, данный метод делегирует вызов setBinaryStream() базовому 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 не выполняют никаких действий.
- Определено в:
-
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://docs.oracle.com/en/java/javase/25/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html