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         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM