原文:https://blog.csdn.net/qq_41209575/article/details/89178020
1.首先先介紹File類和FileStream文件流
1.1 File類,是一個靜態類,支持對文件的基本操作,包括創建,拷貝,移動,刪除和打開一個文件。File類方法的參量很多時候都是路徑path。主要提供有關文件的各種操作,在使用時需要引用System.IO命名空間。
1.2 FileStream文件流 只能處理原始字節(raw byte)。FileStream 類可以用於任何數據文件,而不僅僅是文本文件。FileStream 對象可以用於讀取諸如圖像和聲音的文件,FileStream讀取出來的是字節數組,然后通過編碼轉換將字節數組轉換成字符串。
1.2 FileStream文件流 只能處理原始字節(raw byte)。FileStream 類可以用於任何數據文件,而不僅僅是文本文件。FileStream 對象可以用於讀取諸如圖像和聲音的文件,FileStream讀取出來的是字節數組,然后通過編碼轉換將字節數組轉換成字符串。
1.3 區別:file:是一個文件的類,對文件進行操作的;filestream:文件流.對txt,xml等文件寫入內容的時候需要使用的一個工具.打個形象的比喻.file是筆記本,需要filestream的這個筆才能寫.
2.代碼部分
File類常用方法
3.文件流
3.1文件流文字形式讀取
byte[] bytsize = new byte[1024 * 1024 * 5]; using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite)) { while (true) { int r = stream.Read(bytsize, 0, bytsize.Length); //如果讀取到的字節數為0,說明已到達文件結尾,則退出while循 if (r == 0) { break; } string str = Encoding.Default.GetString(bytsize, 0, r); Console.WriteLine(str); } }
3.2文件流文字形式寫入
string str = "今天天氣好晴朗,處處好風光"; byte[] buttf = Encoding.Default.GetBytes(str); //文件流的寫入 using (FileStream fscreat = new FileStream(path, FileMode.Append, FileAccess.Write)) { fscreat.Write(buttf, 0, buttf.Length); }
3.3文件流視頻形式復制
byte[] bytsize = new byte[1024 * 1024 * 5]; string videoPath = @"C:\Users\Administrator\Desktop\1、練習1-3.avi"; string videoNewPath = @"C:\Users\Administrator\Desktop\1.avi"; //創建讀取流 using (FileStream fsread=new FileStream(videoPath,FileMode.Open,FileAccess.Read)) { //創建寫入流 using (FileStream fswrite=new FileStream(videoNewPath,FileMode.OpenOrCreate,FileAccess.Write)) { while (true) { //返回實際讀取到的字節 int r = fsread.Read(bytsize, 0, bytsize.Length); //當字節位0的時候 證明已經讀取結束 if(r==0){ break; } fswrite.Write(bytsize,0,r); } } }
