從檔案讀取文字
下列範例將示範如何以同步和非同步方式,從使用適用於桌面應用程式的 .NET 之文字檔讀取文字。 在這兩個範例中,當您建立 StreamReader 類別的執行個體時,會提供檔案的相對路徑或絕對路徑。
注意
由於 Windows 執行階段提供不同的資料流類型來讀取和寫入檔案,因此這些程式碼不適用於 Universal Windows (UWP) 應用程式。 如需詳細資訊,請參閱 UWP 使用檔案。 如需如何在 .NET Framework 資料流和 Windows 執行階段資料流之間轉換的範例,請參閱如何:在 .NET Framework 資料流與 Windows 執行階段資料流之間轉換。
必要條件
在與應用程式相同的資料夾中,建立名為 TestFile.txt 的文字檔。
將某些內容新增至文字檔。 本文中的範例會將文字檔的內容寫入主控台。
讀取檔案
下列範例將示範在主控台應用程式內的同步讀取作業。 檔案內容會讀取並儲存在字串變數中,然後寫入主控台。
- 建立 StreamReader 執行個體。
- 呼叫 StreamReader.ReadToEnd() 方法,並將結果指派給字串。
- 將輸出寫入主控台。
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
以非同步方式讀取檔案
下列範例將示範在主控台應用程式內的非同步讀取作業。 檔案內容會讀取並儲存在字串變數中,然後寫入主控台。
- 建立 StreamReader 執行個體。
- 等候 StreamReader.ReadToEndAsync() 方法,並將結果指派給字串。
- 將輸出寫入主控台。
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