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

小老鼠
发布: 2025-11-04 09:42:02
原创
580人浏览过
首先介绍.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) 追加内容。

示例代码:

小绿鲸英文文献阅读器
小绿鲸英文文献阅读器

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

小绿鲸英文文献阅读器 199
查看详情 小绿鲸英文文献阅读器
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 类最方便,大文件推荐流式处理。合理使用编码和异常处理,能让你的文本操作更稳定可靠。

以上就是.NET怎么读取和写入文本文件_文本文件读写操作指南的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号