溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在C#中利用StreamReader類實現(xiàn)一個讀取文件功能

發(fā)布時間:2021-01-21 14:57:52 來源:億速云 閱讀:333 作者:Leah 欄目:開發(fā)技術

如何在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í)行上面的代碼,效果如下圖所示。

如何在C#中利用StreamReader類實現(xiàn)一個讀取文件功能

在讀取文件中的信息時,除了可以使用 ReadLine 方法以外,還可以使用Read、ReadToEnd方法來讀取。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI