2016-02-19 151 views
-2

我想在C#中使用流编写器写一个HTML文件,它覆盖文件,如果关闭应用程序并再次运行,但它追加当我试图写入不同场景的文件没有关闭应用程序。我也想在第二种情况下覆盖。在C#中使用流写入器覆盖文件

using (FileStream fs = new FileStream("Report.html", FileMode.Create, FileAccess.Write))     
{ 
    using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) 
    {        
     w.WriteLine(html); 
    } 
} 
+1

FileMode.Create导致现有文件被覆盖,而不是附加到。你应该显示引起附加的代码。 (也确保你不追加'html') –

回答

0

要附加到文件的末尾:

File.AppendAllText("Report.html", html, Encoding.UTF8); 

要覆盖文件:

File.WriteAllText("Report.html", html, Encoding.UTF8); 
-1

尝试显式关闭的作家和流,而不是取决于你使用后()表达为你做到这一点。

+2

'using'是不可靠的? –

+0

不,但他没有显示代码在哪里追加,我怀疑它是追加的,因为他试图在同一个使用表达式中重复使用流。只要你理解其含义,使用表达式就能发挥很大的作用。 – user132278