Leer y escribir archivos con el mismo stream

29/12/2007 - 23:27 por Kevin | Informe spam
Hola
Quiero leer un archivo y al detectar que un texto esta en una posicion
determinada escribir ahi. Si quiero hacer eso actualmente uso un TextReader
y un TextWriter, primero el textreader, localizo la posicion, cierro el
reader y abro el textwriter. Hay algo mas eficiente, para abrir solo una vez
el stream?

Saludos

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
29/12/2007 - 23:39 | Informe spam
"Kevin" wrote in message
news:
Quiero leer un archivo y al detectar que un texto esta en una posicion
determinada escribir ahi. Si quiero hacer eso actualmente uso un
TextReader y un TextWriter, primero el textreader, localizo la posicion,
cierro el reader y abro el textwriter. Hay algo mas eficiente, para abrir
solo una vez el stream?



Sí: Puedes usar un FileStream. Dispone de la instrucción Read para leer
lo que quieras, la instrucción Seek para moverte en el fichero y
posicionarte donde quieras escribir, y la instrucción Write para escribir.
La desventaja del FileStream respecto al TextReader y al TextWriter es
que las instrucciones Read y Write leen o graban un array de bytes, que
normalmente es menos cómodo de manejar (si lo que quieres grabar son
strings) que los strings que leen y graban el TextReader y el TextWriter.
Para hacer la conversión de array de bytes a string y al revés, puedes usar
los métodos GetString y GetBytes de System.Text.Encoding.
Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo
30/12/2007 - 17:16 | Informe spam
Puedes intentar creando un FileStream con accesos de lectura y escritura, y
crear un StreamReader y un StreamWriter sobre el mismo.

Algo como:

FileStream stream = new FileStream("test.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);

Saludos,
Pedro Luna


"Kevin" escribió en el mensaje de
noticias:
Hola
Quiero leer un archivo y al detectar que un texto esta en una posicion
determinada escribir ahi. Si quiero hacer eso actualmente uso un
TextReader y un TextWriter, primero el textreader, localizo la posicion,
cierro el reader y abro el textwriter. Hay algo mas eficiente, para abrir
solo una vez el stream?

Saludos

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