Spec-Zone.ru › OpenJDK 25

Класс SerialBlob

java.lang.Object
javax.sql.rowset.serial.SerialBlob
Все реализуемые интерфейсы:
Serializable, Cloneable, Blob
public class SerialBlob extends Object implements Blob, Serializable, Cloneable
Сериализованное представление значения SQL BLOB на языке программирования Java.

Класс SerialBlob предоставляет конструктор для создания экземпляра из объекта Blob. Обратите внимание, что объект Blob должен был передать данные значения SQL BLOB на клиент до создания из него объекта SerialBlob. Данные значения SQL BLOB можно материализовать на клиенте в виде массива байтов (с помощью метода Blob.getBytes) или потока необработанных байтов (с помощью метода Blob.getBinaryStream).

Методы SerialBlob позволяют создать копию объекта SerialBlob в виде массива байтов или потока. Они также позволяют найти заданный шаблон байтов или объект Blob в объекте SerialBlob, а также обновить или усечь объект Blob.

Потокобезопасность

Объект SerialBlob небезопасно использовать из нескольких параллельных потоков. Если объект SerialBlob используется более чем одним потоком, доступ к нему следует контролировать с помощью соответствующей синхронизации.

Начиная с:
1.5
См. также:
  • Форма сериализации

Краткое описание конструкторов

Конструктор Описание
SerialBlob(byte[] b)
Создает объект SerialBlob, представляющий собой сериализованную версию заданного массива byte.
SerialBlob(Blob blob)
Создает объект SerialBlob, представляющий собой сериализованную версию заданного объекта Blob.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает клон этого объекта SerialBlob.
boolean equals(Object obj)
Сравнивает этот объект SerialBlob с указанным объектом.
void free()
Этот метод освобождает объект SerialBlob и высвобождает занимаемые им ресурсы.
InputStream getBinaryStream()
Возвращает этот объект SerialBlob в виде входного потока.
InputStream getBinaryStream(long pos, long length)
Возвращает объект InputStream, содержащий частичное значение Blob, начинающееся с байта, указанного параметром pos, и имеющее длину в length байт.
byte[] getBytes(long pos, int length)
Копирует указанное число байтов, начиная с заданной позиции, из этого объекта SerialBlob в другой массив байтов.
int hashCode()
Возвращает хеш-код этого объекта SerialBlob.
long length()
Возвращает число байтов в массиве байтов объекта SerialBlob.
long position(byte[] pattern, long start)
Возвращает позицию в этом объекте SerialBlob, с которой начинается заданный шаблон байтов, начиная поиск с указанной позиции.
long position(Blob pattern, long start)
Возвращает позицию в этом объекте SerialBlob, с которой начинается заданный объект Blob, начиная поиск с указанной позиции.
OutputStream setBinaryStream(long pos)
Получает поток, который можно использовать для записи в значение BLOB, представленное этим объектом Blob.
int setBytes(long pos, byte[] bytes)
Записывает заданный массив байтов в значение BLOB, представленное этим объектом Blob, начиная с позиции pos, и возвращает число записанных байтов.
int setBytes(long pos, byte[] bytes, int offset, int length)
Записывает весь заданный массив byte или его часть в значение BLOB, представленное этим объектом Blob, и возвращает число записанных байтов.
void truncate(long length)
Усекает значение BLOB, представленное этим объектом Blob, до длины в len байт.

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, toString, wait, wait, 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.
См. также:
  • Blob

Подробное описание методов

getBytes

public byte[] getBytes(long pos, int length) throws SerialException
Копирует указанное число байтов, начиная с заданной позиции, из этого объекта SerialBlob в другой массив байтов.

Обратите внимание: если заданное число копируемых байтов превышает длину массива байтов этого объекта SerialBlob, оно будет уменьшено до длины массива.

Определено в:
getBytes в интерфейсе Blob
Параметры:
pos — порядковая позиция первого байта этого объекта SerialBlob, который нужно скопировать; нумерация начинается с 1; значение не должно быть меньше 1 и должно быть меньше или равно длине этого объекта SerialBlob
length — число копируемых байтов
Возвращает:
массив байтов, являющийся копией области этого объекта SerialBlob, начинающейся с заданной позиции и содержащей указанное число последовательных байтов
Исключения:
SerialException — если заданная начальная позиция выходит за допустимые границы; если для этого объекта ранее вызывался free
См. также:
  • Blob.setBytes(long, byte[])

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
См. также:
  • setBinaryStream(long)

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 или больше длины этого объекта SerialBlob + 1.
bytes — массив байтов для записи в значение BLOB, представленное этим объектом Blob
Возвращает:
число записанных байтов
Исключения:
SerialException — если произошла ошибка при доступе к значению BLOB или задана недопустимая позиция; если для этого объекта ранее вызывался free
SQLException — если произошла ошибка при доступе к значению BLOB в базе данных
См. также:
  • getBytes(long, int)

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 в базе данных.
См. также:
  • getBytes(long, int)

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
См. также:
  • getBinaryStream()

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)
Сравнивает этот объект SerialBlob с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не является null и представляет собой объект SerialBlob, содержащий ту же последовательность байтов, что и этот объект.
Переопределяет:
equals в классе Object
Параметры:
obj — объект, с которым сравнивается этот объект SerialBlob
Возвращает:
true, если заданный объект представляет собой SerialBlob, эквивалентный этому объекту SerialBlob; в противном случае — false
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код этого объекта SerialBlob.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

clone

public Object clone()
Возвращает клон этого объекта SerialBlob. Копия будет содержать ссылку на клон внутреннего массива байтов, а не ссылку на исходный внутренний массив байтов этого объекта SerialBlob. Базовый объект Blob будет установлен в null.
Переопределяет:
clone в классе Object
Возвращает:
клон этого объекта SerialBlob
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API