Convertir File a Byte [] en Java
File puede ser la ruta a un archivo como una imagen o cualquier archivo que queremos convertirlo a un arreglo de byte[] para guardarlo por ejemplo en una base de datos.
Les mostrare un ejemplo que desarrolle para guardar una imagen, primero localizo la ruta de la imagen, declaro el byte [] y también un InputStream que sera quien guarde la imagen en un arreglo de byte [].
File archivo = new File("C:\\Users\\David\\Pictures\\za.jpg");
byte[] imgFoto = new byte[(int)archivo.length()];
InputStream inte = new FileInputStream(archivo);
inte.read(imgFoto);
Ahora si por ejemplo queremos mostrar cual es la imagen lo haremos de esta forma:
Icon icono = new ImageIcon(imgFoto);
JOptionPane.showMessageDialog(null, "Imagenes", "Imagen", JOptionPane.INFORMATION_MESSAGE, icono);
La aplicación completa corriendo:
public static void main(String[] args) {
try{
File archivo = new File("C:\\Users\\David\\Pictures\\za.jpg");
byte[] imgFoto = new byte[(int)archivo.length()];
InputStream inte = new FileInputStream(archivo);
inte.read(imgFoto);
//Si tienes base de datos, el campo debe ser Blob, y pasas el imgFoto
Icon icono = new ImageIcon(imgFoto);
JOptionPane.showMessageDialog(null, "Imagenes", "Imagen", JOptionPane.INFORMATION_MESSAGE, icono);
}catch(Exception ex){
System.out.println(ex.getMessage());
}
}
Compa, si tengo una imagen guardada en una base de datos, en un campo de tipo bloob y la quiero convertir de manera que la pueda mostrar en un campo de texto de la siguiente forma ("C:\\Users\\David\\Pictures\\za.jpg") Te agradecería mucho la ayuda !
ResponderEliminar