C#读写文件的问题

20a*_*t00 0 c# streamwriter streamreader

我的代码是:

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);
Run Code Online (Sandbox Code Playgroud)

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

Joe*_*orn 5

该文件已被锁定,因为它正在使用中。同时读写同一个文件是不好的。将流读取器/写入器包装在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);
}
Run Code Online (Sandbox Code Playgroud)