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

Introducir una línea en un texto?

Estas en el tema de Introducir una línea en un texto? en el foro de Java en Foros del Web. Hola a todos, alguien sabe si se puede insertar una línea entre dos ya existentes en un texto plano ya creado, sin que sobreescriba las ...
  #1 (permalink)  
Antiguo 22/05/2008, 16:05
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Introducir una línea en un texto?

Hola a todos,
alguien sabe si se puede insertar una línea entre dos ya existentes en un texto plano ya creado, sin que sobreescriba las posteriores?

Muchas gracias.
  #2 (permalink)  
Antiguo 23/05/2008, 04:45
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
Respuesta: Introducir una línea en un texto?

Lo siento. No entiendo tu problema.
¿Podrías preguntarlo de otra forma o ponernos un ejemplo de lo que quieres hacer?

mmmm Me parece entender que hablas de acceso secuencial a un fichero de texto?
  #3 (permalink)  
Antiguo 23/05/2008, 06:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Respuesta: Introducir una línea en un texto?

A ver si me explico mejor, tengo que meter en un archivo de texto una línea (añadir un usuario), pero por debajo me quedan más líneas de texto, por lo que si me situo en la posición que quiero escribir y escribo me sobreescribe la siguiente, de hehcho me sobreescribe tantos caráteres como yo introduzca.
Por eso me gustaría saber si hay algún método con el que pueda sobreescribir una línea de texto si sobreescribir el resto del documento.
Ahh y sin usar archivos temporales paralelos.
Lo que necesito hacer:

ORIGINAL:

1:Luis
2:Pepe
3:Juan
[DEPARTAMENTOS]

Después de insertar un nuevo usuario: por ejemplo Pablo

1:Luis
2:Pepe
3:Juan
4:Pablo
[DEPARTAMENTOS]

Espero que ahora se entienda mejor lo que quiero hacer.

Un saludo.
  #4 (permalink)  
Antiguo 23/05/2008, 07:01
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
Respuesta: Introducir una línea en un texto?

Entiendo que el fichero es de texto plano.

Siendo así, no conozco ninguna forma de insertar texto por el medio, ya que, en accesos secuenciales, creo que sólo se puede añadir al final.

La única forma que veo así, fácil, para poder hacer lo que quieras en un fichero de texto es cargarlo en memoria, añadir lo que desees y luego volcarlo a disco. El sistema sería similar a rellenar un ArrayList con las lineas de texto. Sencillamente añadirías una donde desees y luego al volcarlo a disco como fichero nuevo, quedaría idéntico al anterior con tu linea deseada.
¿Problema? el tamaño. Si el fichero de texto es muy grande, puede ser una tarea abismal el cargar el fichero en memoria y, desde luego, nada recomendable (imagínate un fichero de texto de 1 Mb por ejemplo).

Otra cosa sería que el fichero fuese binario. Ahí la cosa ya es más fácil.
  #5 (permalink)  
Antiguo 23/05/2008, 08:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Respuesta: Introducir una línea en un texto?

Una cosa, mi archivo es un txt normal y corriente, lo digo porque no tengo muy claro la diferencia entre uno binario y uno de texto plano.
  #6 (permalink)  
Antiguo 27/05/2008, 14:41
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Introducir una línea en un texto?

La Data de tu documento.txt esta organizada asi mismo?!
me explico...

1:Angela
2:Maria
3:Luisa
[DEPARTAMENTOS]

Si no es asi que es lo que piensas guardar en tu archivo txt. Que data?!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:08.