我一直在寻找将字符串写入文件然后逐行读取它,但我总是得到错误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)
{ ....}
答案 0 :(得分:0)
我认为您只需要使用Using statement
read and write
。
由于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...
}
使用声明被翻译成三个部分:获取,使用, 和处置。资源的使用隐含在try中 包含finally子句的语句。这个最终条款处理 资源。如果获取了空资源,则不调用 处理完成后,不会抛出任何异常。