當我打電話這個功能,它只是打開幾個空的記事本窗口,但如果我運行後打開text2
文件,它顯示我所有輸入的行......我甚至嘗試沖洗把所有的東西寫在緩衝區中,但沒有幫助。空的記事本文件,而不是寫在C#
static void finish()
{
FileStream fs2 = new FileStream("C:\\Users\\ayush.mishra\\Desktop\\text2.txt", FileMode.Create, FileAccess.Write);
using(StreamWriter s = new StreamWriter(fs2))
{
s.WriteLine("This Notepad will self destruct in....");
fs2.Flush();
Process notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
for (var i = 0; i < 40000000.00; i++);
notepadProcess2.CloseMainWindow();
s.WriteLine(" ****** 5 ****** ");
fs2.Flush();
notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
for (var i = 0; i < 400000000; i++);
notepadProcess2.CloseMainWindow();
s.WriteLine(" ****** 4 ****** ");
fs2.Flush();
notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
for (var i = 0; i < 400000000; i++);
notepadProcess2.CloseMainWindow();
s.WriteLine(" ****** 3 ****** ");
fs2.Flush();
notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
for (var i = 0; i < 400000000; i++);
notepadProcess2.CloseMainWindow();
notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
s.WriteLine(" ****** 2 ****** ");
fs2.Flush();
for (var i = 0; i < 400000000; i++);
notepadProcess2.CloseMainWindow();
notepadProcess2 = Process.Start("C:\\Users\\ayush.mishra\\Desktop\\text2.txt");
s.WriteLine(" ****** 1 ****** ");
fs2.Flush();
for (var i = 0; i < 400000000; i++);
notepadProcess2.CloseMainWindow();
}
}
有什麼建議嗎?
該文件被鎖定,在這種情況下,記事本可能只是顯示空文件而不是錯誤消息。 –
您可能需要使用'Thread.Sleep()'或'Timer'來進行定時,而不是迭代循環。即使增加4億次時間需要1秒鐘,10年後它在具有更快CPU的現代PC上也會一閃而過。由於類似的原因,一些最古老的電子遊戲在現代個人電腦上已經變得不那麼快。 – Nolonar
關閉FileStream而不是刷新它。或者嘗試使用[FileSharing選項](http://msdn.microsoft.com/en-us/library/5h0z48dh.aspx)調用構造函數,但由於您正在創建新文件,因此可能沒有幫助。 – Artemix