C# 逐行讀取文字檔案

Minahil Noor 2023年1月30日 2020年6月9日
  1. 使用 C# 中的 File.ReadLines() 方法逐行讀取文字檔案
  2. 使用 C# 中的 File.ReadAllLines() 方法逐行讀取文字檔案
  3. 使用 C# 中的 StreamReader.ReadLine() 方法逐行讀取文字檔案
C# 逐行讀取文字檔案

我們可以對文字檔案執行多種操作。要在任何程式中使用檔案中的資料,我們首先需要以適當的資料結構讀取該資料。

在 C# 中,有幾種有效地逐行讀取文字檔案的方法。

使用 C# 中的 File.ReadLines() 方法逐行讀取文字檔案

File.ReadLines() 方法是高效地逐行讀取文字檔案的最佳方法。這個方法為大型文字檔案返回一個列舉型別 Enumerable,這就是為什麼我們建立了一個 Enumerable string 物件來儲存文字檔案的原因。

使用此方法的正確語法如下:

File.ReadLines(FileName);

示例程式碼:

using System;
using System.Collections.Generic;
using System.IO;

public class ReadFile
{
    public static void Main()
    {
      string FileToRead = @"D:\New folder\textfile.txt";
      // Creating enumerable object  
      IEnumerable<string> line = File.ReadLines(FileToRead);
      Console.WriteLine(String.Join(Environment.NewLine, line));   
    }
}

輸出:

// All the text, the file contains will display here.

如果開啟檔案時出現問題,File.ReadLines() 方法將丟擲 IOException;如果請求的檔案不存在,則丟擲 FileNotFoundException

使用 C# 中的 File.ReadAllLines() 方法逐行讀取文字檔案

File.ReadAllLines() 方法也可用於逐行讀取檔案。它不返回 Enumerable。它返回一個字串陣列,其中包含文字檔案的所有行。

使用此方法的正確語法如下:

File.ReadAllLines(FileName);

示例程式碼:

using System;
using System.IO;

public class ReadFile
{
    public static void Main()
    {
      string FileToRead = @"D:\New folder\textfile.txt";
      // Creating string array  
      string[] lines = File.ReadAllLines(FileToRead);
      Console.WriteLine(String.Join(Environment.NewLine, lines));   
    }
}

輸出:

// All the text, the file contains will display here.

這個方法也丟擲異常,就像 File.ReadLines() 方法一樣。然後使用 try-catch 塊來處理這些異常。

使用 C# 中的 StreamReader.ReadLine() 方法逐行讀取文字檔案

C# 中的 StreamReader 類提供了 StreamReader.ReadLine() 方法。此方法逐行將文字檔案讀取到末尾。

StreamReader.ReadLine() 方法的正確語法如下:

//We have to create Streader Object to use this method
StreamReader ObjectName = new StreamReader(FileName);
ObjectName.ReadLine();

示例程式碼:

using System;
using System.IO;

public class ReadFile
{
    public static void Main()
    {
      string FileToRead = @"D:\New folder\textfile.txt";
      using (StreamReader ReaderObject = new StreamReader(FileToRead))
      {
          string Line;
          // ReaderObject reads a single line, stores it in Line string variable and then displays it on console
          while((Line = ReaderObject.ReadLine()) != null)
          {
              Console.WriteLine(Line);
          }
      }
        
    }
}

輸出:

// All the text, the file contains will display here.

相關文章 - Csharp File