如何清除.NET中文件的只读标志?

时间:2009-12-23 21:45:01

标签: .net bit-manipulation flags

如何在.NET 中清除文件上的只读标志并保留其余

2 个答案:

答案 0 :(得分:4)

你不能这样做:

FileInfo f = new FileInfo("yourfile.txt");
f.IsReadOnly = false;

或者我错过了什么?

答案 1 :(得分:2)

我将获取该文件的FileInfo实例,然后将IsReadOnly属性设置为false(根据此处的文档:http://msdn.microsoft.com/en-us/library/system.io.fileinfo.isreadonly.aspx):

new FileInfo("path").IsReadOnly = false;

如果你坚持在File类上使用静态GetAttributes和SetAttributes方法,你可以这样做:

File.SetAttributes("path", 
    File.GetAttributes("path") & ~FileAttributes.ReadOnly);

要清除位图上的标志时的一般模式是获取标志的值(在本例中为FileAttributes.ReadOnly),将其反转(使用〜运算符),然后将反转值应用于包含各种标志的值(在本例中为File.GetAttributes(“path”))。