我的文件觀察器事件只讀取第一個文件,然後出現以下錯誤: 「錯誤:System.IO.IOException:進程無法訪問文件'D:\ TREE \ Dump \ TF20141004011343313.txt '因爲它正在被另一個進程使用。「文件觀察器錯誤
這裏是我的代碼:
int? msgID;
string dup ="";
try
{
//---------read from file------------
string block;
using (StreamReader sr = File.OpenText(MsgsPath + "\\" + e.Name))
{
block = sr.ReadToEnd();
}
和「使用」應當辦理自動開啓和關閉,對不對? 然後我用這個代碼移動處理的文件:
File.Move(MsgsPath + "\\" + e.Name, MsgsPath + "\\Archive\\" + e.Name);
這完全正常。當您收到FSW事件時,正在更新文件的程序仍在積極使用它。幾乎總是需要等待文件完成。你無法預測需要多長時間。將文件路徑放入列表中,使用計時器定期嘗試打開文件。 – 2014-10-19 10:55:31