C#文件流的学习

来源:互联网 发布:星际争霸2单位数据 编辑:程序博客网 时间:2024/05/05 07:52

拷贝文件的两种方式:

(1)将文件全部读取到内存中,再一次性拷贝。

(2)先读取某大小内容,写到目标文件中,再读取同样大小内存,写到目标文件中……

第一种方式占据内存太大,不好。而第二种即为流(Stream)的操作。

具体代码实现为:

using(FileStream otfs = new FileStream(Path.Combine(tBPath2.Text,Path.GetFileName(tBPath1.Text)),FileMode.Create))

        using(FileStream fs = new FileStream(tBPath1.Text,FileMode.Open))//Read指针为读多少指针往后挪多少
        {
               byte[] byteRead = new byte[1024];//byte数组的长度代表了缓冲区的大小,太小拷贝速度慢还伤硬盘
               int ReadBytes = 0;
               while((ReadBytes = fs.Read(byteRead,0,byteRead.Length))>0)
        {                        
               otfs.Write(byteRead, 0, ReadBytes);                                            
        }
               MessageBox.Show("拷贝完成!");
        }

}

0 0