答案:.NET中读写文本文件常用File类处理小文件,StreamReader/StreamWriter流式处理大文件。1. File.ReadAllText/File.WriteAllText用于读取或覆盖写入全部内容,AppendAllText可追加;2. 大文件推荐File.ReadLines按行读取,或StreamReader精细控制;3. StreamWriter逐行写入并支持追加;4. 注意路径安全、异常处理、资源释放及编码指定,确保操作可靠。
.NET 中读取和写入文本文件非常简单,主要使用 System.IO 命名空间中的类。最常用的是 File 类,它
提供了静态方法,适合处理较小的文件。对于大文件或需要流式处理的场景,可以使用 StreamReader 和 StreamWriter。
读取文本文件:
使用 File.ReadAllText 方法将整个文件内容读成一个字符串。
string path = "example.txt";
string content = File.ReadAllText(path);
Console.WriteLine(content);
写入文本文件:
使用 File.WriteAllText 会覆盖原文件内容;若要追加,用 File.AppendAllText。
string path = "example.txt";
string text = "这是要写入的内容";
File.WriteAllText(path, text); // 覆盖写入
File.AppendAllText(path, "\n追加的内容"); // 追加写入
使用 File.ReadLines(推荐):
返回一个可枚举的字符串序列,适合 foreach 遍历。
foreach (string line in File.ReadLines("data.txt"))
{
Console.WriteLine(line);
}
使用 StreamReader(精细控制):
适用于复杂场景,比如指定编码或逐行处理。
using (var reader = new StreamReader("data.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
using (var writer = new StreamWriter("output.txt"))
{
writer.WriteLine("第一行");
writer.WriteLine("第二行");
writer.Write("第三行不换行");
}
如果要追加内容而不是覆盖,传入 true 参数:
using (var writer = new StreamWriter("output.txt", true))
{
writer.WriteLine("追加的新行");
}
基本上就这些。小文件用 File 的静态方法最快,大文件或复杂需求用 StreamReader/StreamWriter 更灵活。