写入和读取同一文件

本文关键字:文件 读取 | 更新日期: 2023-09-27 18:18:49

我一直在考虑将字符串写入文件,然后逐行读取它,但我总是收到错误 IOException:在路径 C:...''level1.txt 上共享冲突。我在互联网上看了看,他们说我应该使用相同的流来写作和阅读,但它没有用,所以我试图为每个流制作不同的流,但它也没有用。

FileStream F = new FileStream("level1.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
        StreamWriter sw = new StreamWriter(F);
        sw.Write(Gui.codeText.Replace("'n", "'r'n"));
        F.Close();
 FileStream F2 = new FileStream("level1.txt", FileMode.Open, FileAccess.Read);
        StreamReader file = new StreamReader(F2);
        while ((line = file.ReadLine()) != null)
        { ....}

写入和读取同一文件

我认为您只需要在read and write时使用Using statement.

由于 StreamWriterStreamReader 类继承了实现IDisposable接口的 Stream,因此该示例可以使用 using 语句来确保在写入或读取操作之后正确关闭基础文件。

using (StreamWriter sw = new StreamWriter(F))
{
      //Write Logic goes here...
}
using (StreamReader file = new StreamReader(F2))
{
     //Read Logc goes here...
}

using 语句:

使用

语句分为三个部分:获取、使用、 和处置。资源的使用情况隐式包含在 try 中 包含 finally 子句的语句。此最终条款处理 的资源。如果获取了空资源,则不调用 进行释放,并且不会引发异常。