我想做的是覆盖一个只读文件。使用读/写文件。
对于读/写文件,如果我使用 File.Open(file, FileMode.Create)
,则如果文件存在,则将其删除并创建一个新文件。 (虽然我怀疑如果它存在那么它只是打开文件并删除内容,这就是它无法处理它遇到的读/写文件的原因)。
我尝试过使用不同的 FileAccess
枚举,但似乎没有一个对我有帮助(我一直收到 UnauthorizedAccessException
)。
解决方法是,在我尝试 File.Open
并创建一个新文件之前,我只是将文件设置为读/写,这是唯一的方法吗?
谢谢
最佳答案
考虑ReadOnly
的目的。这是为了停止对文件的更改。您要做的是更改文件(在本例中是通过覆盖它)。
我想您需要做的是设置文件属性:
File.SetAttributes(filePath, FileAttributes.Normal);
在写入文件之前。
关于C# File.Open 使用 FileMode.Create 的只读文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082248/