C# 操作文本文件

以下的代码是在 .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());
    }
}

可以看到办理出的内容跟上面的全部读出来是一样的。

最近更新的
...