C# File.Open 使用 FileMode.Create 的只读文件

标签 c# file file-io file-permissions

我想做的是覆盖一个只读文件。使用读/写文件。

对于读/写文件,如果我使用 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/

相关文章:

c# - WCF 服务引用 - 重用类型时未生成代理

c# - 通过 wmi 类将 vlan 分配给网络适配器

c# - C# 中的 PLSQL 过程参数

c - 替换文本文档中的行的最有效方法?

c - 为什么在 fopen() 中使用无效模式时 gcc 不给出警告或错误?

c# - 如何将表达式传递到 LINQ 查询中?

c - 如何写入空文件中的特定偏移量

file - VHDL 文件系统操作综合

c++ - 如何在 C++ 中读取由空格分隔的十六进制字节数据

java - Java 相对路径与绝对路径