我想使用XmlWriter
写入只读文件。这样做的正确方法是什么?
目前我有:
XmlWriterSettings lSettings = new XmlWriterSettings();
lSettings.Encoding = new UTF8Encoding(false);
lSettings.Indent = true;
XmlWriter lWriter = XmlWriter.Create(lPath, lSettings);
lXml.WriteContentTo(lWriter);
lWriter.Close();
我想知道是否有办法避免清除并重新设置只读标志。
答案 0 :(得分:2)
如果文件设置为只读,则需要重新设置标志,无需解决方法。
当然,您可以删除该文件(仍然需要您清除该标志)并编写一个新文件,但如果您的写入操作没有发生则会冒险(某处有异常) ,你丢失了内容。
答案 1 :(得分:1)
根据我的理解,你必须删除只写标志才能写入文件,因为这个标志是由操作系统直接控制的。
如果您想要的是避免其他人在写入标志启用时可以写入文件的可能性,您可以执行文件的临时副本(具有写入权限),将XML写入该文件,最后用你的原始文件替换原始文件并将标志设置为只读。