我一直在考虑将字符串写入文件,然后逐行读取它,但我总是收到错误 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", "rn"));
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
.
由于 StreamWriter
和 StreamReader
类继承了实现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 子句的语句。此最终条款处理 的资源。如果获取了空资源,则不调用 进行释放,并且不会引发异常。