C# 从同一文件写入和读取

C# 从同一文件写入和读取,c#,filestream,C#,Filestream,我一直在考虑将一个字符串写入一个文件,然后逐行读取它,但我总是得到错误IOException:在路径C:…\level1.txt上共享冲突。我在互联网上看了看,他们说我应该用同一个流来写和读,但它不起作用,所以我试着为每个流制作一个不同的流,但它也不起作用 FileStream F = new FileStream("level1.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite); StreamWriter sw = new S

我一直在考虑将一个字符串写入一个文件,然后逐行读取它,但我总是得到错误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)
        { ....}

我想你只需要在读写时使用
Using语句

由于
StreamWriter
StreamReader
类继承了
Stream
,后者实现了
IDisposable
接口,因此示例可以使用using语句确保在写或读操作之后正确关闭底层文件

using (StreamWriter sw = new StreamWriter(F))
{
      //Write Logic goes here...
}

using (StreamReader file = new StreamReader(F2))
{
     //Read Logc goes here...
}

using语句分为三个部分:获取、使用, 和处置。资源的使用隐式包含在try中 包含finally子句的语句。这最后一条规定 资源的使用。如果获取了空资源,则不调用 进行Dispose,并且不会引发异常


我想你只需要在读写时使用
Using语句

由于
StreamWriter
StreamReader
类继承了
Stream
,后者实现了
IDisposable
接口,因此示例可以使用using语句确保在写或读操作之后正确关闭底层文件

using (StreamWriter sw = new StreamWriter(F))
{
      //Write Logic goes here...
}

using (StreamReader file = new StreamReader(F2))
{
     //Read Logc goes here...
}

using语句分为三个部分:获取、使用, 和处置。资源的使用隐式包含在try中 包含finally子句的语句。这最后一条规定 资源的使用。如果获取了空资源,则不调用 进行Dispose,并且不会引发异常


尝试一下这就是我所看到的,我尝试了同样的方法,但是使用FileStream F=newfilestream(“level1.txt”,FileMode.OpenOrCreate,FileAccess.ReadWrite);StreamWriter sw=新StreamWriter(F);StreamReader文件=新的StreamReader(F);我仍然遇到了同样的错误尝试这就是我所看到的,我尝试了同样的事情,但是使用FileStream F=newfilestream(“level1.txt”,FileMode.OpenOrCreate,FileAccess.ReadWrite);StreamWriter sw=新StreamWriter(F);StreamReader文件=新的StreamReader(F);我还是犯了同样的错误