FileStream.Read 官方解释:http://msdn.microsoft.com/zh-cn/library/system.io.filestream.read.aspx
重写Read 方法
public override int Read(
byte[] array,
int offset,
int count
)
读入缓冲区中的总字节数。如果当前的字节数没有所请求那么多,则总字节数可能小于所请求的字节数;或者如果已到达流的末尾,则为零
offset 参数给出 array 中字节的偏移量(缓冲区索引),从此处开始读取,count 参数给出从此流最多读取的字节数。返回的值是读取字节的实际数量,或如果到达流的结尾,则该值为零。如果读操作成功,则流的当前位置前进读取的字节数。如果发生异常,则流的当前位置不变。
只有在到达流的末尾后,Read 方法才返回零。否则,Read 在返回前始终至少从流读取一个字节。如果在调用 Read 之后流中无可用数据,则该方法将一直阻止,直到至少可返回一个字节的数据。即使尚未到达流的末尾,实现仍可以随意返回少于所请求的字节。
-----
filestream目前理解可以对要求复制的文件进行分块进行读写。并且能与“进度条”一起使用。(公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作)
file.copy直接进行文件的复制
(1)File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream。
(2)FileStream 支持通过其 Seek 方法随机访问文件。默认情况下,FileStream 以同步方式打开文
件,但它也支持异步操作。
利用FileStream 我们可以得到一个文件的Streams,接着就是来读取。
----参考博文 http://blog.sina.com.cn/s/blog_3d4c358f0100ncbp.html