很多时候我们都需要读取文件的信息,C#给我们提供了非常强大的类库,里面封装了几乎所有我们可以想到的和我们没有想到的类,流是读取文件的一般手段,使用流读取,这也是我们常用的方法。
通常我们使用C#读取文件信息使用如下的步骤:
1、声明并使用File的OpenRead实例化一个文件流对象,就像下面这样
FileStream fs = File.OpenRead(filename);
或者
FileStream fs = FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
2、准备一个存放文件内容的字节数组,fs.Length将得到文件的实际大小,就像下面这样
byte[] data = new byte[fs.Length];
3、开始读了,调用一个文件流的一个方法读取数据到data数组中
fs.Read (data, 0, data.Length);
我们只写了3句就可以用C#读取文件信息,而且里面的内容原封不动的读出来,真是太简洁了,在大部分情况下上面的代码工作的很好,但是我们应该注意Read方法是有返回值的,既然有返回值那么一定有其道理,如果按照上面的写法完全可以是一个没有返回值的函数。我想返回值的目的是,为了给我们一个机会判断实际读取文件的大小,从而来判断文件是否已经完全读完。所以上面