另一个进程使用的文件c#

时间:2016-02-17 11:27:30

标签: c# xml wpf

我在WPF应用程序中工作,我想创建一个XML文件并在Window中同时加载它。 现在我的代码工作正常,但是当我想在Window中加载创建的文件时,它告诉我另一个进程使用的文件。 这是我的代码

var now = DateTime.Now;
        var timestamp = "" + now.Hour + now.Minute + now.Second;
        string sb = "test";
        var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        File.WriteAllText(string.Format("{0}\\{1}.xml", path, timestamp), sb);
        File.AppendText(string.Format("{0}\\{1}.xml", path, timestamp));


        XmlDocument XMLdoc = new XmlDocument();
        try
        {
            XMLdoc.Load(string.Format("{0}\\{1}.biml", path, timestamp));
        }
        catch (XmlException)
        {
            MessageBox.Show("The XML file is invalid");
            return;
        }


        vXMLViwer.xmlDocument = XMLdoc;

1 个答案:

答案 0 :(得分:5)

File.AppendText会打开文件并返回一个可用于追加数据的流。由于您没有使用此方法的返回值,这意味着在垃圾收集器决定稍后启动之前,您不会关闭该流。

目前尚不清楚你要对File.AppendText做什么(也许你根本不需要它?)。但是,如果要打开文件,附加一些文本,然后关闭它,那么您应该使用File.AppendAllText代替。