txt read leer c# io streamreader

c# - leer - streamreader vb



Diferencia entre StreamReader.Read y StreamReader.ReadBlock (1)

ReadBlock no significa que sea seguro para subprocesos. Si usa Reflector para ver la implementación de StreamReader.ReadBlock (que se hereda de TextReader.ReadBlock), todo lo que hace es hacer varias llamadas al método "Leer" hasta que el método "Leer" devuelva 0 o lo hayamos leído como muchos bytes según lo solicitado. Esto es necesario porque el método de "Lectura" no necesariamente devolverá tantos bytes como usted solicitó.

La documentación simplemente dice que ReadBlock es

"Una versión de bloqueo de lectura"

¿Pero qué significa eso?

Alguien más ha hecho la pregunta antes, pero, ¿eh?

http://www.pcreview.co.uk/forums/thread-1385785.php

El chico respondiendo dijo

Básicamente, significa que puedes confiar en que StreamReader.ReadBlock no regresará hasta que se lea todo lo que le pediste, o haya llegado al final de la secuencia.

¿Comprendo correctamente que esto es necesario porque es posible que Read no le dé todo lo que pidió? ¿Y el hecho de que devuelva 0 no significa que llegó al final del archivo?

Entonces, ¿esto significa verificar algo más que la cantidad de bytes devueltos (EndOfStream?) O usar ReadBlock en su lugar?