答案:.NET中读写文本文件常用File类处理小文件,StreamReader/StreamWriter流式处理大文件。1. File.ReadAllText/File.WriteAllText用于读取或覆盖写入全部内容,AppendAllText可追加;2. 大文件推荐File.ReadLines按行读取,或StreamReader精细控制;3. StreamWriter逐行写入并支持追加;4. 注意路径安全、异常处理、资源释放及编码指定,确保操作可靠。

.NET 中读取和写入文本文件非常简单,主要使用 System.IO 命名空间中的类。最常用的是 File 类,它提供了静态方法,适合处理较小的文件。对于大文件或需要流式处理的场景,可以使用 StreamReader 和 StreamWriter。
1. 使用 File.ReadAllText 和 File.WriteAllText(简单场景)
如果文件不大,可以直接一次性读取或写入全部内容。读取文本文件:
使用 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追加的内容"); // 追加写入
2. 按行读取:File.ReadLines 和 StreamReader
当文件较大时,按行读取更节省内存。使用 File.ReadLines(推荐):
里面有2个文件夹。其中这个文件名是:finishing,是我项目还没有请求后台的数据的模拟写法。请求后台数据之后,瀑布流的js有一点点变化,放在文件名是:finished。变化在于需要穿参数到后台,和填充的内容都用后台的数据填充。看自己项目需求来。由于chrome模拟器是不允许读取本地文件json的,所以如果你要进行测试,在hbuilder打开项目就可以看到效果啦,或者是火狐浏览器。
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);
}
}
3. 按行写入:StreamWriter
适合逐行写入大量数据,避免内存占用过高。
using (var writer = new StreamWriter("output.txt"))
{
writer.WriteLine("第一行");
writer.WriteLine("第二行");
writer.Write("第三行不换行");
}
如果要追加内容而不是覆盖,传入 true 参数:
using (var writer = new StreamWriter("output.txt", true))
{
writer.WriteLine("追加的新行");
}
4. 注意事项
- 操作文件前确保路径存在,或使用 Path.Combine 构造安全路径。
- 始终处理异常,比如文件不存在或无权限:try-catch 很重要。
- 使用 using 语句确保文件流正确释放。
- 如需指定编码(如 UTF-8),多数方法都支持 Encoding 参数。
基本上就这些。小文件用 File 的静态方法最快,大文件或复杂需求用 StreamReader/StreamWriter 更灵活。









