C# 去除文件和文件夹的只读属性 |
您所在的位置:网站首页 › 文件的只读和隐藏属性 › C# 去除文件和文件夹的只读属性 |
当我们使用 DirectoryInfo dir = Directory.CreateDirectory(pathName) 创建目录或者创建一个文件后,有时作为临时文件用完以后需要删除掉,使用File.delete()或者Directory.Delete()经常会遇到“访问被拒绝的错误”;这时我们需要设置文件或者文件夹的只读属性,再进行删除。 去除文件夹的只读属性: System.IO.DirectoryInfo DirInfo = new DirectoryInfo(“filepath”); DirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory; 去除文件的只读属性: System.IO.File.SetAttributes("filepath", System.IO.FileAttributes.Normal);
FileAttributes 枚举 提供文件和目录的属性。 此枚举有一个 FlagsAttribute 属性,允许其成员值按位组合。 命名空间:System.IO程序集:mscorlib(在 mscorlib.dll 中) 语法 [SerializableAttribute] [FlagsAttribute] [ComVisibleAttribute(true)] public enum FileAttributes 成员名称说明![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 文件是临时文件。文件系统试图将所有数据保留在内存中以便更快地访问,而不是将数据刷新回大容量存储器中。不再需要临时文件时,应用程序会立即将其删除。
FileAttributes的简单应用 常用的FileAttributes成员有Hidden,System,Archive,ReadOnly,Directory等等。这些对象可以进行位域运算,通过位或运算给文件附上属性。如:File.setAttribute(filename,FileAttribute.Hidden|FileAttribute.ReadOnly)则,filename文件就拥有Hidden和ReadOnly两种属性。 在数值和标志枚举常量之间执行按位“与”操作就可以测试数值中是否已设置标志,这种方法会将数值中与标志不对应的所有位都设置为零,然后测试该操作的结果是否等于该标志枚举常量。仍然是MSDN中的例子: using System;using System.IO;using System.Text;class Test{public static void Main(){string path = @"c:\temp\MyTest.txt";// Create the file if it does not exist.if (!File.Exists(path)){File.Create(path);}if ((File.GetAttributes(path) & FileAttributes.Hidden) == FileAttributes.Hidden){// Show the file.File.SetAttributes(path, FileAttributes.Archive);Console.WriteLine("The {0} file is no longer hidden.", path);}else{// Hide the file.File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);Console.WriteLine("The {0} file is now hidden.", path);}}} ps:FileAttributes.Archive是文档的存档状态,应用程序使用该属性为文件加上备份或删除标记。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |