`n 如何在C#中读取文本文件的内容?

如何在C#中读取文本文件的内容?

Clock Icon 发布时间:2026/8/28 5:38  · 

读取文本文件的内容在NET/" style="text-decoration: none; color: inherit;" title="C#">C#中非常常见并且简单易行。可以使用System.IO命名空间提供的多种方法来实现。以下是几种常用的方法,从基本到稍微复杂一点的。使用StreamReader类是一种传统且有效的方法。这个类可以打开文件并按行读取。代码示例如下:```csharpusing System;using System.IO;class Program{ static void Main() { using (StreamReader sr = new StreamReader("file.txt")) { string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } }}```通过上述代码,可以逐行读取名为file.txt的文件内容并输出到控制台。这样的方式适用于处理较大的文件,防止一次性加载过多数据。另一种简单直接的方法是使用File类的ReadAllText方法。此方法将整个文件的内容作为一个字符串读取,非常适合小型文件。代码示例如下:```csharpusing System;using System.IO;class Program{ static void Main() { string content = File.ReadAllText("file.txt"); Console.WriteLine(content); }}```这种方式更加简洁,同时提供了一种方便的读取大段文本数据的方法。需要注意的是,如果文件可能不存在,使用try-catch语句可以捕获异常,确保程序不会因文件缺失而崩溃。示例如下:```csharptry{ string content = File.ReadAllText("file.txt"); Console.WriteLine(content);}catch (FileNotFoundException e){ Console.WriteLine("文件未找到: " + e.Message);}```这种方式能有效提高代码的健壮性。对于对于需要按行处理的情况,可以使用File.ReadLines方法,该方法返回一个可枚举的集合,允许逐行读取文件。```csharpusing System;using System.IO;class Program{ static void Main() { foreach (string line in File.ReadLines("file.txt")) { Console.WriteLine(line); } }}```这种方法的优点在于内存占用较少,适合大型文本文件的逐行读取。还可以通过异步方法读取文件,提升程序的效率。使用async和await关键字,是一种更现代的方法。例如,使用ReadAllTextAsync方法如下:```csharpusing System;using System.IO;using System.Threading.Tasks;class Program{ static async Task Main() { string content = await File.ReadAllTextAsync("file.txt"); Console.WriteLine(content); }}```这种方式使文件读取操作不会阻塞主线程,有助于保持用户界面的响应。获取文件内容的方式多种多样,各种方法都有其适用场景。根据文件的大小、应用需求,选择最佳的方法来读取文本文件,就能有效完成任务。

推荐文章

热门文章