空的记事本文件而不是c#中写的那个

时间:2013-06-26 09:00:29

标签: c# file-io streamwriter notepad

当我调用此函数时,它只会打开几个空的记事本窗口,但是如果我在运行后打开text2文件,它会显示我输入的所有行...我甚至尝试使用flush写入所有内容缓冲但没有帮助。

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();
    }
}

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这里的问题是你首先在记事本中打开文件,然后向它写入数据。由于文件已在记事本中打开,因此不会显示更改。但是如果你在记事本中再次打开文件,它将显示写入它的数据。