.NET怎么读取和写入文本文件_文本文件读写操作指南

首先介绍.net中常用的文本文件读写方法,包括使用file类进行小文件的读取和写入操作,如ReadAllText、ReadAllLines、WriteAllText和appendAllText;接着说明处理大文件时应采用streamReader和StreamWriter实现流式逐行读写以节省内存,并强调使用using语句确保资源释放;随后指出可传入Encoding对象来指定文本编码,如GB2312或带bom的UTF-8;最后建议在操作前通过File.Exists和Directory.Exists检查路径存在性,并自动创建所需目录,从而提升程序稳定性。

.NET怎么读取和写入文本文件_文本文件读写操作指南

.NET 提供了多种方式来读取和写入文本文件,适用于不同场景下的需求。无论是简单的配置文件操作,还是大批量日志处理,.NET 都能通过简洁的 API 快速实现。本文将介绍常用的文本文件读写方法,帮助你高效完成日常开发任务。

使用 File 类进行简单读写

File 类位于 System.IO 命名空间,适合对小文件进行一次性读取或写入。

  • 读取整个文本文件: 使用 File.ReadAllText(path) 可将文件全部内容读成一个字符串
  • 按行读取: 使用 File.ReadAllLines(path) 返回字符串数组,每行对应一个元素。
  • 写入文本: 使用 File.WriteAllText(path, content) 覆盖写入内容;File.AppendAllText(path, content) 追加内容。

示例代码:

.NET怎么读取和写入文本文件_文本文件读写操作指南

小绿鲸英文文献阅读器

英文文献阅读器,专注提高SCI阅读效率

.NET怎么读取和写入文本文件_文本文件读写操作指南 199

查看详情 .NET怎么读取和写入文本文件_文本文件读写操作指南

using System.IO;  // 读取全部内容 string content = File.ReadAllText("example.txt");  // 写入内容(覆盖) File.WriteAllText("example.txt", "Hello, .NET!");  // 追加内容 File.AppendAllText("example.txt", "nNew line added."); 

使用 StreamReader 和 StreamWriter 流式处理大文件

当处理大文件时,一次性加载到内存可能造成性能问题。此时应使用 StreamReaderStreamWriter 逐行读写。

  • StreamReader 支持按行读取,节省内存。
  • StreamWriter 可以逐行写入,支持编码设置。

建议用 using 语句确保资源正确释放。

示例代码:

using System.IO;  // 逐行读取 using (var reader = new StreamReader("largefile.txt")) {     string line;     while ((line = reader.ReadLine()) != null)     {         Console.WriteLine(line);     } }  // 逐行写入 using (var writer = new StreamWriter("output.txt")) {     writer.WriteLine("第一行");     writer.WriteLine("第二行"); } 

指定文本编码

默认情况下,部分方法使用 UTF-8 编码。若需指定其他编码(如 GB2312、UTF-8 BOM),可在参数中传入 Encoding 对象。

  • 读取时指定编码:File.ReadAllText(path, Encoding.GetEncoding("GB2312"))
  • 写入带 BOM 的 UTF-8:File.WriteAllText(path, content, Encoding.UTF8)
  • StreamWriter 指定编码:new StreamWriter(path, false, Encoding.UTF8)

检查文件和路径是否存在

在读写前,建议先判断文件或目录是否存在,避免异常。

  • 检查文件是否存在:File.Exists(path)
  • 检查目录是否存在:Directory.Exists(path)
  • 创建目录(如果不存在):Directory.CreateDirectory(Path.GetDirectoryName(path))

示例:

string path = "data/output.txt";  if (!Directory.Exists(Path.GetDirectoryName(path))) {     Directory.CreateDirectory(Path.GetDirectoryName(path)); }  if (File.Exists(path)) {     string data = File.ReadAllText(path); } else {     File.WriteAllText(path, "新文件已创建"); } 

基本上就这些。选择合适的方法取决于文件大小、性能要求和编码需求。小文件用 File 类最方便,大文件推荐流式处理。合理使用编码和异常处理,能让你的文本操作更稳定可靠。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources