当前位置:首页 > C# > 正文

C#文本文件高效读写指南(使用StreamReader与StreamWriter进行文件处理)

在C#开发中,处理文本文件是一项非常常见的任务。无论是读取配置文件、日志分析,还是生成报告,C# StreamReaderC# StreamWriter 都是处理文本文件的核心工具。本教程将从零开始,手把手教你如何使用这两个类来安全、高效地读写文本文件,即使你是编程小白也能轻松上手!

C#文本文件高效读写指南(使用StreamReader与StreamWriter进行文件处理) C# StreamReader  StreamWriter 文本文件读写 文件处理 第1张

什么是StreamReader和StreamWriter?

StreamReader 是 .NET 中用于从文本文件中逐行或整体读取数据的类;而 StreamWriter 则用于向文本文件写入字符串内容。它们都属于 System.IO 命名空间,是 C# 文件处理 的基础组件。

准备工作:引入命名空间

在使用前,请确保在你的 C# 文件顶部添加以下 using 指令:

using System;using System.IO;

使用StreamReader读取文本文件

下面是一个完整的示例,展示如何使用 C# StreamReader 逐行读取一个名为 example.txt 的文件:

string filePath = @"C:\data\example.txt";// 使用 using 确保资源自动释放using (StreamReader reader = new StreamReader(filePath)){    string line;    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);    }}

注意:我们使用了 using 语句,这样即使发生异常,文件流也会被正确关闭,避免资源泄漏。这是 C# 文件处理 的最佳实践之一。

使用StreamWriter写入文本文件

接下来,我们使用 C# StreamWriter 向文件写入多行文本:

string outputPath = @"C:\data\output.txt";using (StreamWriter writer = new StreamWriter(outputPath)){    writer.WriteLine("第一行内容");    writer.WriteLine("第二行内容");    writer.Write("这一行不换行");    writer.WriteLine("但这里会接上并换行。");}

如果你希望在文件末尾追加内容而不是覆盖原有内容,可以将构造函数的第二个参数设为 true

using (StreamWriter writer = new StreamWriter(outputPath, true)){    writer.WriteLine("这是追加的新内容!");}

完整示例:读取并复制文件

下面这个程序将读取一个源文件,并将其内容写入到另一个目标文件中:

string sourceFile = @"C:\data\input.txt";string destFile   = @"C:\data\copy_output.txt";using (StreamReader reader = new StreamReader(sourceFile))using (StreamWriter writer = new StreamWriter(destFile)){    string line;    while ((line = reader.ReadLine()) != null)    {        writer.WriteLine(line);    }}Console.WriteLine("文件复制完成!");

常见问题与注意事项

  • 始终使用 using 语句管理 StreamReaderStreamWriter,防止内存泄漏。
  • 文件路径建议使用 @"..." 原始字符串,避免反斜杠转义问题。
  • 如果文件不存在,StreamReader 会抛出 FileNotFoundException,建议加上异常处理。
  • 默认编码为 UTF-8,如需指定其他编码(如 GB2312),可在构造函数中传入 Encoding 参数。

总结

通过本教程,你已经掌握了如何使用 C# StreamReaderC# StreamWriter 进行基本的文本文件读写操作。这些技能是 C# 文件处理 的基石,适用于日志记录、数据导入导出、配置管理等多种场景。记住:善用 using、注意异常处理、理解编码机制,你就能写出健壮可靠的文件操作代码!

关键词回顾:C# StreamReader、C# StreamWriter、文本文件读写、C# 文件处理。