Foros del Web » Programación para mayores de 30 ;) » Java »

Convertir byte[] en File

Estas en el tema de Convertir byte[] en File en el foro de Java en Foros del Web. Hola, tengo un sistema legado que guarda ficheros en una base de datos usando File https://docs.oracle.com/javase/7/doc...a/io/File.html File, es la representacion absracta del fichero, el fichero ...
  #1 (permalink)  
Antiguo 15/03/2019, 13:31
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 137
Antigüedad: 4 años, 7 meses
Puntos: 0
Convertir byte[] en File

Hola, tengo un sistema legado que guarda ficheros en una base de datos usando File

https://docs.oracle.com/javase/7/doc...a/io/File.html

File, es la representacion absracta del fichero, el fichero en si mismo se gurda en una carpeta del filesystem y en la base se guarda como binario un File que tiene las propiedades de dicha clase.

Ahora, desde otro programa necesito poder reconstruir el File (no el fichero que esta guardado en el disco, solo la represenatcion abstracta)

Cuando hago una query nativa, logro guardar el resultado binario en una variable byte[] resultado; ahora necesto convertir ese resultado (en memoria) a un File para poder acceder a las propiedades como absolutepath que tebnia originalmente.

Alguna idea de como hacerlo?
  #2 (permalink)  
Antiguo 20/03/2019, 03:20
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.488
Antigüedad: 10 años, 7 meses
Puntos: 187
Respuesta: Convertir byte[] en File

try {
FileOutputStream fos = new FileOutputStream("pathname")
fos.write(myByteArray); // donde myByteArray = byte[]
fos.close();
} catch (Exception ex) {
// puedes afinar el tipo de excepción y hacer lo que sea aquí
}
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 20/03/2019, 09:38
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 137
Antigüedad: 4 años, 7 meses
Puntos: 0
Respuesta: Convertir byte[] en File

Gracias por tu respueta.

el array de bytes no contiene el fichero.png , lo que contiene es un objeto de la clase File que entre otros atributos tiene el path en donde esta el verdadero objeto.png

El metodo que uestras genera un fichero en el directorio pero su contenido no es el objeto.png
  #4 (permalink)  
Antiguo Hoy, 01:58
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.488
Antigüedad: 10 años, 7 meses
Puntos: 187
Respuesta: Convertir byte[] en File

No sé si no comprendes los conceptos o los explicas mal

el array de bytes no puede contener un objeto de la clase File. En todo caso el objeto de la clase file contiene el array de bytes que quieres tratar

import java.io.File;
import java.nio.file.Files;

File file;
// Inicializa tu file aquí
byte[] fileContent = Files.readAllBytes(file.toPath());
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}



La zona horaria es GMT -6. Ahora son las 02:34.