C#缓存流的使用浅析

C#缓存流的使用实例:用缓存流复制文件,C#文件处理操作必须先导入命名空间:

using System.IO;  
 
 
///在按钮的Click事件中添加如下代码:  
 
private void button1_Click(object sender, EventArgs e)  
 
{  
//创建两个文件流 一个是源文件相关,另一个是要写入的文件  
 
FileStream fs = new FileStream(@"D:\KuGoo\爱得太多.wma",FileMode.Open);  
 
FileStream fs2 = new FileStream(@"D:\love.wma",FileMode.Create);  
 
//创建一个字节数组,作为两者之间的媒介  
 
//好比两个人拿苹果,这个字节数组就好比一个篮子,一个人作死的把苹果送到篮子里面,  
 
//而我就可以作死得拿苹果,通过这个媒介我们互不干扰,  
 
//不需要互相等待【她往篮子里面放了苹果我才可以去拿】,提高了效率  
 
byte[] data = new byte[1024];  
 
//创建两个缓冲流,与两个文件流相关联  
 
BufferedStream bs = new BufferedStream(fs);  
 
BufferedStream bs2= new BufferedStream(fs2);  
 
//fs作死的读,fs2作死的写,直到fs没有字节可读fs2就不写了  
 
//好比,一个人作死的往篮子里面丢苹果,  
 
//另一个人作死得往篮子里面拿苹果,直到篮子里面没有苹果拿了为止  
 
//即-->那个人没有苹果往篮子里面放了  
 
while(fs.Read(data,0,data.Length)>0)  
 
{  
 fs2.Write(data,0,data.Length);  
 
 fs2.Flush();  
}  
//关闭流,好比两个人累了,都要休息 呵呵o(∩_∩)o...  
 
fs.Close();  
 
fs2.Close();  
}  

原址:http://developer.51cto.com/art/200909/149728.htm

posted on 2017-03-31 19:58  哦呵呵G  阅读(1362)  评论(0编辑  收藏  举报

导航