首页 > 解决方案 > 在 C# 中写入和读取文件的问题

问题描述

我的代码是:

StreamReader r = new StreamReader("temp.txt");
string str = r.ReadLine();
Console.WriteLine(str);
StreamWriter w = new StreamWriter("temp.txt");
w.WriteLine("new text");
str = r.ReadLine();
Console.WriteLine(str);

当我运行它时,它会引发未处理的异常并且无法访问该文件。我确定文件的路径是正确的并且没有写保护。

标签: c#streamreaderstreamwriter

解决方案


该文件已被锁定,因为它正在使用中。同时读取和写入同一个文件是不好的。将流读取器/写入器包装在using块中,以便正确关闭和释放流:

string str;
using (var r = new StreamReader("temp.txt"))
{
    str = r.ReadLine();
    Console.WriteLine(str);
}
using (var w = new StreamWriter("temp.txt"))
{
    w.WriteLine("new text");
}
using (var r = new StreamReader("temp.txt"))
{
    str = r.ReadLine();
    Console.WriteLine(str);
}

推荐阅读