您好,登錄后才能下訂單哦!
如何在C#中利用StreamReader類實現(xiàn)一個讀取文件功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在 C# 語言中 StreamReader 類用于從流中讀取字符串。它繼承自 TextReader 類。
StreamReader 類的構(gòu)造方法有很多,這里介紹一些常用的構(gòu)造方法,如下表所示。
構(gòu)造方法 | 說明 |
---|---|
StreamReader(Stream stream) | 為指定的流創(chuàng)建 StreamReader 類的實例 |
StreamReader(string path) | 為指定路徑的文件創(chuàng)建 StreamReader 類的實例 |
StreamReader(Stream stream, Encoding encoding) | 用指定的字符編碼為指定的流初始化 StreamReader 類的一個新實例 |
StreamReader(string path, Encoding encoding) | 用指定的字符編碼為指定的文件名初始化 StreamReader 類的一個新實例 |
使用該表中的構(gòu)造方法即可創(chuàng)建 StreamReader 類的實例,通過實例調(diào)用其提供的類成 員能進行文件的讀取操作。
StreamReader 類中的常用屬性和方法如下表所示。
屬性或方法 | 作用 |
---|---|
Encoding CurrentEncoding | 只讀屬性,獲取當前流中使用的編碼方式 |
bool EndOfStream | 只讀屬性,獲取當前的流位置是否在流結(jié)尾 |
void Close() | 關閉流 |
int Peek() | 獲取流中的下一個字符的整數(shù),如果沒有獲取到字符, 則返回 -1 |
int Read() | 獲取流中的下一個字符的整數(shù) |
int Read(char[] buffer, int index, int count) | 從指定的索引位置開始將來自當前流的指定的最多字符讀到緩沖區(qū) |
string ReadLine() | 從當前流中讀取一行字符并將數(shù)據(jù)作為字符串返回 |
string ReadToEnd() | 讀取來自流的當前位置到結(jié)尾的所有字符 |
下面通過實例來演示 StreamReader 類的應用。
【實例】讀取 D 盤 code 文件夾下 test.txt 文件中的信息。
根據(jù)題目要求,先在 D 盤下創(chuàng)建文件夾并創(chuàng)建 test.txt 文件,然后寫入兩行字符,分別是 Hello 和 Lucy,代碼如下。
class Program { static void Main(string[] args) { //定義文件路徑 string path = @"D:\\code\\test.txt"; //創(chuàng)建 StreamReader 類的實例 StreamReader streamReader = new StreamReader(path); //判斷文件中是否有字符 while (streamReader.Peek() != -1) { //讀取文件中的一行字符 string str = streamReader.ReadLine(); Console.WriteLine(str); } streamReader.Close(); } }
執(zhí)行上面的代碼,效果如下圖所示。
在讀取文件中的信息時,除了可以使用 ReadLine 方法以外,還可以使用Read、ReadToEnd方法來讀取。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。