Modificar un txt

04/07/2005 - 21:39 por Ernesto Mancilla | Informe spam
holas
tengo un problema para modificar un archivo txt
quisiera ver la forma de avanzar hazta cierta parte del archivo y encontrar
x ejm "Abierto":
...
Abierto = true
...
y q despues sin perder nada antes o despues del archivo quede
...
Abierto = false
...

gracias de antemano

Preguntas similare

Leer las respuestas

#1 Julio Casal
05/07/2005 - 07:13 | Informe spam
Hola Ernesto. Puedes hacer uso de las clases del namespace System.IO y de la
clase String para lograr tu objetivo. Prueba esta pequeña función C#:

private static void ReemplazarTexto(string rutaArchivo,
string cadenaOriginal,
string cadenaNueva){
StreamReader sr = new StreamReader(rutaArchivo);
string contenido = sr.ReadToEnd();
sr.Close();
contenido = contenido.Replace(cadenaOriginal, cadenaNueva);
StreamWriter sw = new StreamWriter(rutaArchivo);
sw.Write(contenido);
sw.Close();
}

Espero haberte sido de ayuda.

Saludos.

Julio Casal
.Net Solution Developer
MCAD
Disma C. Ltda.


"Ernesto Mancilla" wrote:

holas
tengo un problema para modificar un archivo txt
quisiera ver la forma de avanzar hazta cierta parte del archivo y encontrar
x ejm "Abierto":
...
Abierto = true
...
y q despues sin perder nada antes o despues del archivo quede
...
Abierto = false
...

gracias de antemano
Respuesta Responder a este mensaje
#2 Pablo Fébolo
06/07/2005 - 15:00 | Informe spam
El metodo esta interesante, solo quería marcar dos posibles
inconvenientes

1) Si el txt fuese muy grande, el metodo propuesto
parece algo ineficiente (utilizaria mucha memoria)
2) El replace, reemplzara todas las cadenas que encuentre
y por lo tanto es posible que reemplaze trozos
del texto indeseados.

Lo remarco por que sabemos cual es el contexto del problema.
Respuesta Responder a este mensaje
#3 Julio Casal
09/07/2005 - 09:40 | Informe spam
Hola Pablo. Pues sí, tienes razón amigo. El algoritmo no es el más eficiente,
eso está claro para mi también. Pero es la solución más rápida si tu archivo
no es muy grande y simplemente quieres reemplazar todas las cadenas por una
nueva cadena.

Para ser más eficiente lo que se podría hacer es ir leyendo linea por linea
e ir reemplazando las cadenas mientras se va leyendo la linea, así no se
cargaría todo el archivo en memoria a la vez. Así mismo, se podría crear una
interfaz de usuario que vaya saltando por cada cadena encontrada para que el
usuario decida si desea reemplazarla o no. Esto sería similar a lo que
realiza cualquier editor de texto.

Amigo Ernesto, please déjanos saber si la solución propuesta logró resolver
tu problema.

Saludos.

Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Pablo Fébolo" wrote:

El metodo esta interesante, solo quería marcar dos posibles
inconvenientes

1) Si el txt fuese muy grande, el metodo propuesto
parece algo ineficiente (utilizaria mucha memoria)
2) El replace, reemplzara todas las cadenas que encuentre
y por lo tanto es posible que reemplaze trozos
del texto indeseados.

Lo remarco por que sabemos cual es el contexto del problema.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida