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
 

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.

Preguntas similares