0

Самый простой способ преобразования Blob в массив байтов

10

Заголовок: Как легко преобразовать Blob в массив байтов в Java?

Тело сообщения:

Я работаю с базой данных MySQL и мне нужно преобразовать тип данных Blob в массив байтов. Каков самый простой способ сделать это? Я использую язык программирования Java. Заранее спасибо за помощь!

3 ответ(ов)

0

В классе MySQL BLOB имеется следующая функция:

blob.getBytes

Используйте её следующим образом:

// (предполагая, что у вас есть объект ResultSet с именем RS)
Blob blob = rs.getBlob("SomeDatabaseField");

int blobLength = (int) blob.length();
byte[] blobAsBytes = blob.getBytes(1, blobLength);

// Освободите объект BLOB и очистите память. (начиная с JDBC 4.0)
blob.free();

Обратите внимание, что важно вызывать метод free() для освобождения ресурсов, занимаемых объектом BLOB, после того как вы закончите с ним работать, так как это поможет избежать утечек памяти.

0

Самый простой способ сделать это:

byte[] bytes = resultSet.getBytes("my_field");
0

Вы также можете получить массив байтов из экземпляра Blob следующим образом:

Blob myBlob = null;
byte[] bytes = myBlob.getBinaryStream().readAllBytes();

Учтите, что метод getBinaryStream() возвращает объект InputStream, и использование readAllBytes() требует, чтобы ваш проект использовал Java 9 или выше. Убедитесь, что вы обрабатываете возможные исключения, такие как SQLException и IOException, чтобы избежать проблем при выполнении этого кода.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь