FileStream文件的使用

           // FileStream//(操作字节的)水一勺一勺的 可以操作任意格式的文件
           //File一下子就读出来

  //读取文本文件

 1           // FileMode.OpenOrCreate你针对文件进行一个什么操作
 2             //FileAccess .Read 文件数据参数
 3             //1.创建FileStream对象
 4             FileStream fileRead = new FileStream(@"C:\Users\wbrm\Desktop\新建文本文档.txt", FileMode.OpenOrCreate, FileAccess.Read);
 5             byte[] buffer = new byte[1024 * 1024 * 5];
 6             int r = fileRead.Read(buffer, 0, buffer.Length);   // 0表示从那个字节读取数据   // buffer.Length 读取的大小
 7             //将字节数组中的每一个元素安照知道的编码格式解码成字符串
 8             string s = Encoding.Default.GetString(buffer, 0, r);
 9             fileRead.Close();   // //关闭流     
10             fileRead.Dispose(); // //释放流所占用的资源
11             Console.WriteLine(s);
12             Console.ReadKey();

   写入文本文件

 1             //写入的编码格式和读的编码格式必须一样
 2             //将创建的文件流对象的过程在Using当中,会自动的帮助我们释放所占用的空间
 3             using (FileStream fswrite = new FileStream(@"C:\Users\wbrm\Desktop\新建文本文档 (2).txt", FileMode.OpenOrCreate, FileAccess.Write))
 4             {
 5                 string str = "看我有没有把你覆盖掉";
 6                 byte[] buffer = Encoding.Default.GetBytes(str);//转换成字节数组
 7                 fswrite.Write(buffer, 0, buffer.Length);
 8             }
 9             Console.WriteLine("写入成功");
10             Console.ReadKey();

 使用文件流实现多媒体文件文件的复制

 1  static void Main(string[] args)
 2         {
 3             //思路:先将要复制的多媒体文件读取出来然后在再写到你的指定位置
 4             string courece = @"C:\Users\wbrm\Desktop\for循环的练习.avi";
 5             string target = @"C:\Users\wbrm\Desktop\新的.avi";
 6             CopyFile(courece, target);
 7             Console.WriteLine("复制成功");
 8             Console.ReadKey();
 9         }
10         public static void CopyFile(string courece, string target)
11         {
12             //读取流
13             using (FileStream fsRead = new FileStream(courece, FileMode.OpenOrCreate, FileAccess.Read))
14             {
15                //写入流
16                 using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))  
17                 {                   
18                     byte[] buffer = new byte[1024 * 1024 * 5];
19                     //因为文件可能会比较大,所以我们在读取的时候,应该通过一个循环去读取
20                     while (true)
21                     {
22                         //返回本次读取实际读取的字节数
23                         int r = fsRead.Read(buffer, 0, buffer.Length);
24                         //如果返回一个0,也就意味什么都没有读取到,读取完了
25                         if(r==0)
26                         {
27                             break;
28                         }
29                         fsWrite.Write(buffer, 0,r);//最多写入的字节r
30                     }
31                 }
32             }
33         }

 

posted @ 2017-11-05 16:33  wb_enduo  阅读(2021)  评论(1编辑  收藏  举报