从同一文件写入和读取

时间:2015-10-22 04:32:19

标签: c# filestream

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

The Using Statement:

  

使用声明被翻译成三个部分:获取,使用,   和处置。资源的使用隐含在try中   包含finally子句的语句。这个最终条款处理   资源。如果获取了空资源,则不调用   处理完成后,不会抛出任何异常。