Класс 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- позиция в SQL-значенииBLOB, с которой начать запись. Первая позиция -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- смещение в массиве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. Этот метод передает вызов 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 , представляющим ту же последовательность байтов, что и этот объект.- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Объект для сравнения с этимSerialBlob - Возвращает:
-
trueесли заданный объект представляетSerialBlobэквивалент этому SerialBlob,falseв противном случае - См. также:
hashCode
public int hashCode()
SerialBlob.- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
clone
public Object clone()
SerialBlob. Копия будет содержать ссылку на клонированный внутренний массив байтов, а не на ссылку на исходный внутренний массив байтов этого SerialBlob объекта. Подлежащий Blob объект будет установлен в null.- Переопределяет:
-
cloneв классеObject - Возвращает:
- клонированный экземпляр SerialBlob
- См. также:
© 1993, 2023, 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/21/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html