【问题标题】:File used by another process c#另一个进程c#使用的文件
【发布时间】:2016-02-17 11:27:30
【问题描述】:

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

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;

【问题讨论】:

  • 您的意思可能是使用AppendAllText 而不是AppendText

标签: c# xml wpf


【解决方案1】:

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

不清楚你想用File.AppendText做什么(也许你甚至不需要它?)。但是如果你想打开文件,添加一些文本,然后关闭它,那么你应该使用File.AppendAllText

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多