FileStream用于在不同进程之间共享文件

时间:2012-04-24 15:00:23

标签: c# .net file filestream sharing

我使用以下代码修改可以从多个进程使用的XML文件

using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
{
    var d = XDocument.Load(fs);
    d.Descendants("TestNode").FirstOrDefault().Descendants("MyInfo").FirstOrDefault().Attribute("Id").Value = "Tested Successfully";
    XElement x1 = new XElement(new XElement("PoolId", "A91"));
    d.Root.Add(x1);
    fs.Seek(0, SeekOrigin.Begin);
    d.Save(fs);
}

此方法位于LOCK对象内。

现在,我总是想覆盖XML文件的内容,所以我使用了

fs.Seek(0, SeekOrigin.Begin);

这是对的吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

保存已覆盖,您无需致电Seek。

你在使用XElement做什么?

new XElement(new XElement("PoolId", "A91"));

可以阅读

new XElement("PoolId", "A91");