我们可以使用 System.IO.File 类的 SetAttributes 方法为一个文件设置相关的属性,如:
// 为文件加上一个只读的属性
FileAttributes attrs = File.GetAttributes("c:\\a.txt");
File.SetAttributes("c:\\a.txt", attrs | FileAttributes.ReadOnly);
FileAttributes attrs = File.GetAttributes("c:\\a.txt");
File.SetAttributes("c:\\a.txt", attrs | FileAttributes.ReadOnly);
怎么把这个只读属性去掉呢?
// 先把文件的属性读取出来
FileAttributes attrs = File.GetAttributes("c:\\a.txt");
// 下面表达式中的 1 是 FileAttributes.ReadOnly 的值
// 此表达式是把 ReadOnly 所在的位改成 0,
attrs = (FileAttributes)((int)attrs & ~(1));
File.SetAttributes("c:\\a.txt", attrs);
FileAttributes attrs = File.GetAttributes("c:\\a.txt");
// 下面表达式中的 1 是 FileAttributes.ReadOnly 的值
// 此表达式是把 ReadOnly 所在的位改成 0,
attrs = (FileAttributes)((int)attrs & ~(1));
File.SetAttributes("c:\\a.txt", attrs);