其他分享
首页 > 其他分享> > 覆盖现有的XML文件,如果已经存在

覆盖现有的XML文件,如果已经存在

作者:互联网

我试图覆盖现有的xml文件(如果已经存在).

我正在使用下面的代码来检查文件是否存在,如果存在,则将其覆盖.现有文件是隐藏的,因此在尝试覆盖之前我将其取消隐藏.

该文件未发生更改,但是覆盖不起作用.

这是我在下面使用的代码减去编写新xml数据的部分.

if(File.Exists(filePath))
{
     File.SetAttributes(filePath,FileAttributes.Normal);
     FileIOPermission filePermission = 
              new FileIOPermission(FileIOPermissionAccess.AllAccess,filePath);

     FileStream fs = new FileStream(filePath, FileMode.Create);

     XmlWriter w = XmlWriter.Create(fs);
 }

解决方法:

尝试像这样写入文件:

if(File.Exists(filePath))
{
     File.SetAttributes(filePath,FileAttributes.Normal);
     FileIOPermission filePermission = 
              new FileIOPermission(FileIOPermissionAccess.AllAccess,filePath);

     using(FileStream fs = new FileStream(filePath, FileMode.Create))
     {
         using (XmlWriter w = XmlWriter.Create(fs))
         {
             w.WriteStartElement("book");
             w.WriteElementString("price", "19.95");
             w.WriteEndElement();
             w.Flush();
         }
     }     
 }

标签:filestream,file-permissions,xml,c
来源: https://codeday.me/bug/20191127/2076886.html