C# StreamReader文件處理操作解析
C# StreamReader文件處理操作使用的前言,理論上,可以使用FileStream類讀取和顯示文本文件。前面已經介紹了這個類。上面顯示NewFile.txt文件的格式不太容易理解,但這并不是FileStream類的問題—— 而在于我們在文本框中顯示結果所使用的方式。
如果知道某個文件包含文本,通常就可以使用StreamReader 和 StreamWriter類更方便地讀寫它們。這是因為這些類工作的級別比較高,特別適合于讀寫文本。它們執行的方法可以根據流的內容,自動檢測出停止讀取文本較方便的位置,特別是:
◆這些類執行的方法可以一次讀寫一行文本(StreamReader.ReadLine() 和 StreamWriter.WriteLine())。在讀取文件時,流會自動確定下一個回車符的位置,并在該處停止讀取。在寫入文件時,流會自動把回車符和換行符添加到文本的末尾。
◆使用StreamReader 和 StreamWriter類,就不需要擔心文件中使用的編碼方式(文本格式)了。可能的編碼方式是ASCII(一個字節表示一個字符)或者基于Unicode的格式,UNICODE、UTF7和 UTF8。Windows 9x系統上的文本文件總是ASCII格式,因為Windows 9x系統不支持Unicode,但Windows NT、2000、XP和2003都支持Unicode,所以文本文件除了包含ASCII數據之外,理論上可以包含Unicode、UTF7或 UTF8數據。其約定是:如果文件是ASCII格式,就只包含文本。如果是Unicode格式,就用文件的前兩個或三個字節來表示,這幾個字節可以設置為表示文件中格式的值的特定組合。
這些字節稱為字節碼標記。在使用標準Windows應用程序打開一個文件時,例如Notepad 或 WordPad,不需要考慮這個問題,因為這些應用程序都支持不同的編碼方法,會自動正確地讀取文件。StreamReader類也是這樣,它可以正確讀取任何格式的文件,而StreamWriter類可以使用任何一種編碼技術格式化它要寫入的文本。另一方面,如果要使用FileStream類讀取和顯示文本文件,就不必自己處理這個過程了。
C# StreamReader類的特點:
StreamReader用于讀取文本文件。用某些方式構造一個StreamReader要比構造一個FileStream實例更簡單,因為使用StreamReader時不需要FileStream的一些選項。特別是不需要模式和訪問類型,因為StreamReader只能執行讀取操作。除此以外,沒有指定共享許可的直接選項,但StreamReader有兩個新選項:
◆需要指定不同的編碼方法所執行的不同操作。可以構造一個StreamReader 檢查文件開頭的字節碼標記,確定編碼方法,或者告訴StreamReader該文件使用某個編碼方法。
◆不提供要讀取的文件名,而為另一個流提供引用。
最后一個選項需要解釋一下,因為它涉及到把讀寫數據的模型建立在流概念上的另一個優點。StreamReader工作在相對比較高的級別上,如果有另一個流在讀取其他源的數據,就要使用由StreamReader提供的工具來處理這個流,因為這個流包含文本,此時StreamReader就非常有用了。可以把這個流的輸出傳送到StreamReader上,這樣,StreamReader就可以讀取和處理任何數據源(不僅僅是文件)中的數據了。
C# StreamReader讀取文件之文件頭:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.IO;
C# StreamReader讀取文件實例:
- StreamReader objReader = new StreamReader(文件路徑);
- string sLine="";
- ArrayList LineList = new ArrayList();
- while (sLine != null)
- {
- sLine = objReader.ReadLine();
- if (sLine != null&&!sLine.Equals(""))
- LineList.Add(sLine);
- }
- objReader.Close();
- return LineList;
C# StreamReader和StreamWriter讀寫文件的操作就向你介紹到這里,希望對你了解和學習C# StreamReader類和StreamWriter類寫文件有所幫助。
【編輯推薦】