Objeto a fichero

Lucia
02 de Noviembre del 2005
Hola necesito algo de ayuda urgente,

Me explico, tengo en una variable Object un campo binario que me ha devuelto una select de oracle, es decir, lo que es en verdad es una imagen.

Bueno, pues ahora lo que quiero es colocar esa imagen en un directorio.

Como lo transformo de tipo Object hasta conseguir un fichero.

Muchas gracias por anticipado.

chuidiang
02 de Noviembre del 2005
Hola:

Ese Object será de algún tipo concreto, en función del tipo del campo en base de datos. Puedes ver el tipo concreto haciendo un

System.out.println (objeto.getClass().getName());

Si es un montón de bytes guardados en base de datos, imagino que será un Blob o algo parecido. Puedes hacer el cast (o usar el método adecuado del ResultSet) y luego usar sus métodos.

Blob objeto = resultSet.getBlob ("nombre campo");
byte [] bytes = objeto.getBytes(0, objeto.length());

Luego ya es cuestión de escribir los bytes en un fichero.

Se buena.

Lucia
02 de Noviembre del 2005
chuidiang muchas gracias.. aun que hay un pero, utilizo una aquitectura rara que solo me deja recuperar el contenido de ese binario que hay en la base de datos a cadena.. o a byte,.


Como puedo hacer para pasar ese byte a byte[]

y como puedo hacer una prueba sin cargarme nada cogiendo una imagen y pasandola a byte[] para luego volver a escribirla.

Lucia.

Lucia
02 de Noviembre del 2005
Pongo los dos metodos que estoy usando para probar antes de meterme con la base de datos.

@@Con este intento transformar una imagen a binario


private byte getImagen() {

File f1 = new File("c:/img/h.jpg");


int bi = 0;

try {
FileInputStream fis = new FileInputStream(f1);

bi = fis.read(); // esto solo me da el numero de bytes.
System.out.println("" + bi);
} catch (IOException ioe) {
}
return (byte) bi;
}


@@Con este intento introducir los bytes en otro archivo

private void recuperarImagen( byte fichero) {



File f1 = new File("c:/img/g.jpg");

try {
FileOutputStream fos = new FileOutputStream(f1);
fos.write(fichero);
fos.close();
} catch (IOException ioe) {

}

}

A ver si un alma caritativa quiere ayudar a esta pobre chica que esta hecha un lio a demas de un poco harta.