Класс SerialBlob
- Все реализуемые интерфейсы:
Serializable, AutoCloseable, 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 байт. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
Подробное описание конструкторов
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— если при сериализации блоба произошла ошибка; если ранее для этого объекта был вызван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— если при сериализации блоба произошла ошибка; если ранее для этого объекта был вызван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— смещение в массивеbytes, с которого следует начать считывать записываемые байты. Первое смещение —0; значение не должно быть меньше0или больше длины массиваbytes -
length— число байтов, которые следует записать в значениеBLOBиз массива байтовbytes - Возвращает:
- число записанных байтов
- Исключения:
-
SerialException— если произошла ошибка при доступе к значениюBLOB; если задана недопустимая позиция; если задано недопустимое значение смещения; если сумма значенийlengthиoffsetпревышает длинуbytes; если ранее для этого объекта был вызван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.