Programación General > Java

 Escribir un Objeto al final de un fichero

(1/2) > >>

turicuen:
Me gustaria saber como puedo escribir un objeto dentro de un fichero sin sobreescribir este.

Si el fichero  no esta creado escribo de esta forma
Código:

 
--- Código: Text ---ObjectOutputStream f = new ObjectOutputStream(new FileOutputStream("Nombre_Fichero")); ous.writeObject(Objeto_a_escribir); 

Ahora como lo hago para no sobreescribir el fichero, para no perder los objetos que estan dentro.

manix:
hola
intenta pasando un true como segundo parametro en en constructor de ObjectOutputStream


--- Código: Java ---ObjectOutputStream f = new ObjectOutputStream(new FileOutputStream("Nombre_Fichero"), true); 
saludos

turicuen:
Si, pero no me vale, si pongo append a true,me inserta el objeto al final del fichero. Pero luego cuando abro el fichero para recorrerlo y obterner un objeto me da error. Me saca el objeto del fichero pero me muestra la siguiente excepcion


--- Código: Text ---java.io.StreamCorruptedException: invalid type code: AC        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356) 

turicuen:
Creo que es debido a que cada vez que añado inserto objetos al fichero ya creado, tambien escribe informacion adicional sobre el fichero. Y luego al leer el fichero, esa informacion adicional hace que me salte la excepcion.

He leido por ahi que una solucion cutre, pero que muy cutre y muy chapa. Que es hacer un reset cada vez que escribo, o antes de escribir eso no me ha quedado muy claro.

chuidiang:
Hola:

Aquí tienes un par mas de posibles soluciones para añadir objetos al final de fichero.

Se bueno.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa