c#使文件从只读变为读写

本文关键字:读写 只读 文件 | 更新日期: 2023-09-27 18:14:09

如果File.SetAttributes("C:''myFile.txt", FileAttributes.ReadOnly);将文件设置为只读,如果需要,如何将其设置回读/写?

我怀疑它将是FileAttributes.Normal,但是这会改变文件的任何其他属性吗?在MSDN网站上没有一个可怕的描述性说明…

文件正常,没有设置其他属性。这个属性是只有单独使用时才有效。

谢谢

c#使文件从只读变为读写

要删除ReadOnly属性,您可以这样做:

File.SetAttributes("C:''myfile.txt", File.GetAttributes("C:''myfile.txt") & ~FileAttributes.ReadOnly);

这将删除ReadOnly属性,但保留文件中已经存在的任何其他属性。

文件。SetAttributes替换文件上的所有属性。

设置和删除属性的正确方法是首先获取属性,应用更改,然后设置它们。

var attr = File.GetAttributes(path);
// set read-only
attr = attr | FileAttributes.ReadOnly;
File.SetAttributes(path, attr);
// unset read-only
attr = attr & ~FileAttributes.ReadOnly;
File.SetAttributes(path, attr);

我知道这很晚了,但我想分享我的解决方案,希望它能帮助别人。我需要类似的东西,我完成的方法是在FileInfo上设置IsReadOnly属性。

    private void UnsetReadOnlyAttribute(string filePathWithName)
    {
        FileInfo fileInfo = new FileInfo(filePathWithName);
        if (fileInfo.IsReadOnly)
        {
            fileInfo.IsReadOnly = false;
        }
    }