The documentation simply says ReadBlock is
"a blocking version of Read"
but what does that mean?
Someone else has asked the question before but, huh?
http://www.pcreview.co.uk/forums/thread-1385785.php
The guy answering said
Basically, it means that you can rely on StreamReader.ReadBlock not returning until either it's read as much as you've asked it to, or it's reached the end of the stream.
Am I understanding correctly that this is required because Read may not give you everything you asked for? And that just because it returns 0 does NOT mean you reached the end of the file?
So this means check something other than the number of bytes returned (EndOfStream?) or use ReadBlock instead?