Principales respuestas
como actualizar y borrar lineas especificas de un archivo .txt desde c#?

Pregunta
-
verán a partir de un listBox agrego sus items a un archivo .txt, el problema que tengo es que si quiero por ejemplo:
+------------------------+ +------------------------++ pablo + * modificar renglón 2 a 17. + pablo +
+ 18 + }archivo .txt --> (modificar documento --> + 17 + }archivo .txt
+ programacion + .txt desde c#) + programacion +
+... + +... +
y el otro problema seria que a partir de c# elimine lineas de un documento txt
+------------------------+ +------------------------+
+ pablo + * eliminar renglón 2. + pablo +
+ 18 + }archivo .txt --> (modificar documento --> + programacion + }archivo .txt
+ programacion + .txt desde c#) + 2do. semestre +
+... + +... +
- Editado Pablo Huizar miércoles, 21 de febrero de 2018 3:39
Respuestas
-
En general es dificilísimo actualizar y borrar lineas en un archivo txt. El problema es que son líneas de longitud variable, por lo que cualquier cambio supone "mover" todo el contenido del archivo posterior a la ubicación del cambio.
Para evitar el problema, y si los archivos son de tamaño moderado (no más de unos cientos de megabytes), lo que se hace es cargar el fichero en memoria, modificarlo en memoria, y regrabarlo por completo en disco.
Para leerlo a un array de strings se puede usar el método File.ReadAllLines (en System.IO).
Después se borran o modifican las líneas del array.
Y para salvarlo de nuevo, File.WriteAllLines.
- Propuesto como respuesta Pablo RubioModerator miércoles, 21 de febrero de 2018 22:16
- Marcado como respuesta Pablo RubioModerator lunes, 26 de febrero de 2018 8:07
-
hola
>>y el otro problema seria que a partir de c# elimine lineas de un documento txt
no puede eliminar lineas, para esto deberas recrear el archivo
Recorrer un fichero txt y eliminar determinadas lineas
sino la otra es levantar todo el file a memoria, trabajar los datos y luego volcar al archivo el resultado final
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Pablo RubioModerator lunes, 26 de febrero de 2018 8:07
Todas las respuestas
-
En general es dificilísimo actualizar y borrar lineas en un archivo txt. El problema es que son líneas de longitud variable, por lo que cualquier cambio supone "mover" todo el contenido del archivo posterior a la ubicación del cambio.
Para evitar el problema, y si los archivos son de tamaño moderado (no más de unos cientos de megabytes), lo que se hace es cargar el fichero en memoria, modificarlo en memoria, y regrabarlo por completo en disco.
Para leerlo a un array de strings se puede usar el método File.ReadAllLines (en System.IO).
Después se borran o modifican las líneas del array.
Y para salvarlo de nuevo, File.WriteAllLines.
- Propuesto como respuesta Pablo RubioModerator miércoles, 21 de febrero de 2018 22:16
- Marcado como respuesta Pablo RubioModerator lunes, 26 de febrero de 2018 8:07
-
hola
>>y el otro problema seria que a partir de c# elimine lineas de un documento txt
no puede eliminar lineas, para esto deberas recrear el archivo
Recorrer un fichero txt y eliminar determinadas lineas
sino la otra es levantar todo el file a memoria, trabajar los datos y luego volcar al archivo el resultado final
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Pablo RubioModerator lunes, 26 de febrero de 2018 8:07
-