Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/06/2011, 23:46
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Escribir en un .txt

Hola:

En un fichero de texto no puedes insertar líneas, unicamente "machacar" contenido o añadir al final. Piensa que un fichero no es más que una ristra de bytes en el disco duro e "insertar" quiere decir desplazar bytes para hacer un hueco y meter en el hueco lo que quieras.

Encima, un fichero de texto es más complejo, porque en general las líneas no tienen una longitud fija ni conocida, así que para saber dónde empezar a hacer ese hueco, no te queda más remedio que leer todo el fichero desde el principio contando líneas.

Lo más sencillo es que cargues el fichero en memoria si no es demasiado grande (en una List de String por ejemplo), de forma que cada item de la lista sea una línea, insertas en esa List y luego reescribes el fichero entero.

Si sólo quieres añadir al final del fichero, FileWriter tiene un constructor con dos parámetros, en el segundo se le pone un flag true para indicar que se quiere añadir respetando el contenido original.

Se bueno.
__________________
Apuntes Java
Wiki de Programación