[英]Write and read from same file
我一直在尋找一個字符串寫入文件,然后逐行讀取它,但是我總是收到錯誤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
。
由於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語句轉換為三個部分:獲取,使用和處置。 資源的使用隱式包含在一個帶有finally子句的try語句中。 該finally子句處理資源。 如果獲取了空資源,則不會調用Dispose,也不會引發異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.