2020-11-04
概括的說,File,FileInfo,FileStream是用于文件 I/O 的類,StreamReader是用于從流讀取和寫入流的類,使用之前都需using System.IO。
先定義一個TXT文檔路徑: string txtpath = (@"D:\C#練習\1.txt"); 要讀入這個文檔。
(1)File 提供用于創建、復制、刪除、移動和打開文件的靜態方法,并協助創建 FileStream。
FileStream fs = File.Open(txtpath, FileMode.Open);
File可以直接調用各種方法(Open、Delete、Exists等)
例如: if (File.Exists(txtpath)) { File.Delete(txtpath); }
(2)FileInfo 提供用于創建、復制、刪除、移動和打開文件的實例方法,并協助創建 FileStream。
FileInfo fi = new FileInfo(txtpath); //實例化
FileStream fs = fi.Open();
以上,二者都是針對文件操作,不操作文件內容
(3)FileStream 支持通過其 Seek 方法隨機訪問文件。默認情況下,FileStream 以同步方式打開文件,但它也支持異步操作。
利用FileStream 我們可以得到一個文件的Streams,接著就是來讀取。
(4)StreamReader 通過使用 Encoding 進行字符和字節的轉換,從 Streams 中讀取字符。
StreamWriter 通過使用 Encoding 將字符轉換為字節,向 Streams 寫入字符。
StreamReader sr = new StreamReader(fs);
string str = null; string temp=null; while((temp=sr.ReadLine())!=null) { str+=" "+temp; }
得到一個字符串,再可以對字符串進行處理。
PS:
TextReader 是 StreamReader 和 StringReader 的抽象基類。抽象 Stream 類的實現用于字節輸入和輸出,而 TextReader 的實現用于 Unicode 字符輸出。
TextWriter 是 StreamWriter 和 StringWriter 的抽象基類。抽象 Stream 類的實現用于字節輸入和輸出,而 TextWriter 的實現用于 Unicode 字符輸出。
?
File類的方法每次執行都要驗證安全機制,所以在少量使用的時候用File效率高,但是如果用的多了 要用FileInfo效率高
總結
以上是生活随笔為你收集整理的2020-11-04的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】刨根究底字符编码【2.0版】(2)
- 下一篇: 车主上午提长安奔奔新车 下午就等来“退一