以下的代码是在 .Net 6环境下。
using System.Text;
var path = "D:\\ma-le-ma.txt";
Console.WriteLine(Encoding.Default);
// 写入文件
using (var sw = new StreamWriter(path))
{
sw.WriteLine("码了么测试");
sw.WriteLine("qq");
sw.WriteLine("google");
sw.WriteLine("ma le ma");
}
//全部读取出来。
using (var sr = new StreamReader(path))
{
Console.WriteLine(sr.ReadToEnd());
}
因为什么要用using这个是释放文件占用。 特别是写入文件的时候。如果我们写入文件哪边没有用using 就会发现程序在读取的时候会报错
System.IO.IOException:“The process cannot access the file 'D:\ma-le-ma.txt' because it is being used by another process.”
如果一个文件很大。我们一次性读取出来,可能会占非常大的内存。 所以我们希望可以一行一行的读取。一行一行的处理它。
using (var sr = new StreamReader(path))
{
while (sr.Peek() != -1)
{
Console.WriteLine(sr.ReadLine());
}
}
可以看到办理出的内容跟上面的全部读出来是一样的。