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.