嘿!我试图用文件流读取一个150MB的文件,但每次我这样做时,我得到的是:|zl
而不是整个流。请注意,它有一些特殊字符。Filestream只读取文件的前4个字符
有谁知道问题可能是什么?这里是我的代码:
using (FileStream fs = File.OpenRead(path))
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
extract = Encoding.Default.GetString(buffer);
}
编辑:
我试图读取的所有文字,但它仍然返回相同的四个大字。除了这几个以外,它可以在任何其他文件上正常工作。当我使用读取所有行时,它只会获得第一行。
您确定该文件是文本文件吗?如果'File.ReadAllText'只返回四个字符,那么可以肯定文件的其余部分不是文本。或者我想这可能是'path'没有指向你认为它指向的文件。检查'fs.Read'的返回值以确保您实际上正在读取尽可能多的数据。 – 2011-05-03 03:31:40