Para converter um array de bytes em um objeto Blob
(binary large object) em Java, você pode usar a classe ByteArrayInputStream
da biblioteca java.io
e a interface Blob
da biblioteca java.sql
. A interface Blob
representa um objeto grande de dados binários que pode ser armazenado em um banco de dados ou em outra fonte de dados.
Aqui está um exemplo de como converter um array de bytes em um objeto Blob
usando a classe ByteArrayInputStream
:
import java.io.ByteArrayInputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Main { public static void main(String[] args) { byte[] bytes = // Array de bytes aqui... try (Connection conexao = // Conexão com o banco de dados aqui... PreparedStatement statement = conexao.prepareStatement("INSERT INTO tabela (coluna_blob) VALUES (?)")) { // Converte o array de bytes em um objeto Blob Blob blob = conexao.createBlob(); try (ByteArrayInputStream stream = new ByteArrayInputStream(bytes)) { blob.setBinaryStream(1).use(out -> out.write(bytes)); } // Define o objeto Blob como parâmetro da consulta SQL statement.setBlob(1, blob); // Executa a consulta statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } }
Este código cria um objeto Blob
a partir de um array de bytes usando o método createBlob
da interface Connection
e o escreve em um ByteArrayInputStream
. Em seguida, define o objeto Blob
como um parâmetro de uma consulta SQL usando o método setBlob
da classe PreparedStatement
e executa a consulta para inserir o objeto Blob
em uma tabela do banco de dados.