我正在尝试设置标志,使Read Only
复选框出现,当你right click \ Properties
上的文件。
谢谢!
我正在尝试设置标志,使Read Only
复选框出现,当你right click \ Properties
上的文件。
谢谢!
方法有两种:
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
fileInfo.IsReadOnly = true/false;
要么
// Careful! This will clear other file flags e.g. FileAttributes.Hidden
File.SetAttributes(filePath, FileAttributes.ReadOnly/FileAttributes.Normal);
上FileInfo的IsReadOnly属性本质上是做位翻转你就必须在第二个方法做手工。
要设置只读标志,实际上使文件不可写:
File.SetAttributes(filePath,
File.GetAttributes(filePath) | FileAttributes.ReadOnly);
要删除只读标志,实际上使文件可写:
File.SetAttributes(filePath,
File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);
要切换只读标志,使它的不管它是什么,现在正好相反:
File.SetAttributes(filePath,
File.GetAttributes(filePath) ^ FileAttributes.ReadOnly);
这基本上是位掩码中的作用。 您可以设置特定的位来设置只读标志,你清楚它来删除标志。
请注意,上面的代码不会改变文件的任何其他属性。 换句话说,如果该文件是隐藏的,你执行上面的代码之前,它将保持后隐藏。 如果你简单地设置文件属性.Normal
或.ReadOnly
你可能最终在这个过程中失去了其他标志。
C# :
File.SetAttributes(文件路径,FileAttributes.Normal);
File.SetAttributes(文件路径,FileAttributes.ReadOnly);