所以,我試圖創建一個登錄表單,但我需要讀取和寫入文件等,首先;我創建了一個文件,寫「測試」的文件,但如果我再刪除文件,並嘗試在同一時間發出我的命令:創建後寫入文件時正在使用文件
FileIO.FileCheck("Usernames.pheonix");
FileIO.WriteFile("Usernames.pheonix", "test");
它把我拉到一個錯誤;
該進程無法訪問文件'C:\ Users \ XXX \ Desktop \ Pheonix Launcher \ Pheonix \ bin \ Debug \ Usernames.pheonix',因爲它正在被另一個進程使用。
我似乎無法讓我的頭周圍爲什麼它一直在這樣做,這裏有我的讀/寫文件:
public static void createFile(String FileName)
{
File.Create(FileName);
}
public static void WriteFile(String File ,String Message)
{
FileStream fs1 = new FileStream(File, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs1);
writer.Write(Message);
writer.Close();
}
public static void FileCheck(String fileName)
{
if (File.Exists(fileName))
Console.WriteLine("File exists.");
else
createFile(fileName);
}
是你的'createFile'調用過一次,然後你爲每一條你想記錄的消息調用'WriteFile'? – bas 2013-03-15 21:37:16
那麼我只通過FileCheck調用一次,看看它是否存在,然後調用WriteFile。所以是的。 – 2013-03-15 21:39:06
正如usr提到'Dispose'是這裏的關鍵字。 'FileStream fs1 ...'應該在'using'塊中,就像'StreamWriter'一樣。 – Silvermind 2013-03-15 21:41:00