我有第三方應用程序,它定期從我的C#.Net應用程序讀取輸出。
由於某些限制,我只能將輸出寫入文件,然後由第三方應用程序讀取。c#保持文件打開但覆蓋內容
我需要每次覆蓋同一個文件的內容。
我目前做的在C#中使用
Loop
{
//do some work
File.WriteAllText(path,Text);
}
的第三方應用程序會定期檢查該文件並讀取內容。這工作得很好,但CPU使用率非常高。用文本編寫器代替File.WriteAllText解決了高CPU使用率的問題,但是我的文本被附加到文件而不是覆蓋文件。
難道有人指向我正確的方向,我可以保持文件在C#中打開,並定期覆蓋其內容,沒有太多的開銷?
編輯:我通過選擇每循環20次迭代寫入文件來修復CPU使用率,而不是每循環一次。下面給出的所有答案都有效,但是與關閉文件並重新打開有關。謝謝
清零使用 System.IO.File.WriteAllText(路徑,的String.Empty)我的循環每一次的文件; 也將導致相同的開銷,因爲我將不得不在循環中重複執行。 – newidforu 2011-04-13 18:39:53