// FileStream//(操作位元組的)水一勺一勺的 可以操作任意格式的文件 //File一下子就讀出來 //讀取文本文件 寫入文本文件 使用文件流實現多媒體文件文件的複製 ...
// 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 }