C# StreamReader類實現讀取文件的方法

在 C# 語言中 StreamReader 類用於從流中讀取字符串。它繼承自 TextReader 類。

StreamReader 類的構造方法有很多,這裡介紹一些常用的構造方法,如下表所示。

構造方法 說明
StreamReader(Stream stream) 為指定的流創建 StreamReader 類的實例
StreamReader(string path) 為指定路徑的文件創建 StreamReader 類的實例
StreamReader(Stream stream, Encoding encoding)  用指定的字符編碼為指定的流初始化 StreamReader 類的一個新實例
StreamReader(string path, Encoding encoding) 用指定的字符編碼為指定的文件名初始化  StreamReader 類的一個新實例

使用該表中的構造方法即可創建 StreamReader 類的實例,通過實例調用其提供的類成 員能進行文件的讀取操作。

StreamReader 類中的常用屬性和方法如下表所示。

屬性或方法 作用
Encoding CurrentEncoding 隻讀屬性,獲取當前流中使用的編碼方式
bool EndOfStream 隻讀屬性,獲取當前的流位置是否在流結尾
void Close() 關閉流
int Peek() 獲取流中的下一個字符的整數,如果沒有獲取到字符, 則返回 -1
int Read() 獲取流中的下一個字符的整數
int Read(char[] buffer, int index, int count) 從指定的索引位置開始將來自當前流的指定的最多字符讀到緩沖區
string ReadLine() 從當前流中讀取一行字符並將數據作為字符串返回
string ReadToEnd() 讀取來自流的當前位置到結尾的所有字符

下面通過實例來演示 StreamReader 類的應用。

【實例】讀取 D 盤 code 文件夾下 test.txt 文件中的信息。

根據題目要求,先在 D 盤下創建文件夾並創建 test.txt 文件,然後寫入兩行字符,分別是 Hello 和 Lucy,代碼如下。

class Program
{
  static void Main(string[] args)
  {
    //定義文件路徑
    string path = @"D:\\code\\test.txt";
    //創建 StreamReader 類的實例
    StreamReader streamReader = new StreamReader(path);
    //判斷文件中是否有字符
    while (streamReader.Peek() != -1)
    {
      //讀取文件中的一行字符
      string str = streamReader.ReadLine();
      Console.WriteLine(str);
    }
    streamReader.Close();
  }
}

執行上面的代碼,效果如下圖所示。

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

到此這篇關於C# StreamReader類實現讀取文件的方法的文章就介紹到這瞭,更多相關C# StreamReader類讀取文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: