共用方式為


從檔案讀取文字

下列範例將示範如何以同步和非同步方式,從使用適用於桌面應用程式的 .NET 之文字檔讀取文字。 在這兩個範例中,當您建立 StreamReader 類別的執行個體時,會提供檔案的相對路徑或絕對路徑。

注意

由於 Windows 執行階段提供不同的資料流類型來讀取和寫入檔案,因此這些程式碼不適用於 Universal Windows (UWP) 應用程式。 如需詳細資訊,請參閱 UWP 使用檔案。 如需如何在 .NET Framework 資料流和 Windows 執行階段資料流之間轉換的範例,請參閱如何:在 .NET Framework 資料流與 Windows 執行階段資料流之間轉換

必要條件

  • 在與應用程式相同的資料夾中,建立名為 TestFile.txt 的文字檔。

    將某些內容新增至文字檔。 本文中的範例會將文字檔的內容寫入主控台。

讀取檔案

下列範例將示範在主控台應用程式內的同步讀取作業。 檔案內容會讀取並儲存在字串變數中,然後寫入主控台。

  1. 建立 StreamReader 執行個體。
  2. 呼叫 StreamReader.ReadToEnd() 方法,並將結果指派給字串。
  3. 將輸出寫入主控台。
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = reader.ReadToEnd();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = reader.ReadToEnd()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try

以非同步方式讀取檔案

下列範例將示範在主控台應用程式內的非同步讀取作業。 檔案內容會讀取並儲存在字串變數中,然後寫入主控台。

  1. 建立 StreamReader 執行個體。
  2. 等候 StreamReader.ReadToEndAsync() 方法,並將結果指派給字串。
  3. 將輸出寫入主控台。
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = await reader.ReadToEndAsync();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = Await reader.ReadToEndAsync()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try