C# 去除文件和文件夹的只读属性
来源:互联网 发布:windows 10重装系统 编辑:程序博客网 时间:2024/05/22 13:55
当我们使用 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是文档的存档状态,应用程序使用该属性为文件加上备份或删除标记。
- C# 去除文件和文件夹的只读属性
- C# 去除文件和文件夹的只读属性
- C#去除文件夹只读属性
- Python 中去除文件的只读属性
- 删除文件夹及其子文件,包括只读属性的文件和文件夹
- 文件夹只读属性不能更改如何去除
- 删除只读属性的文件夹及其子文件
- 如何去除文件的只读标示
- 去掉文件夹和文件的只读属性
- 无法删除文件夹的“只读”属性
- C# 更改文件只读属性 - [C#]
- C#复制文件、设置隐藏,只读属性
- 【C#学习】静态字段、常量字段、只读字段、只读属性的相同点和不同点
- 去除文件系统、只读等属性
- c# 如何设置coboBox的只读属性
- linux文件和文件夹的属性
- 如何去除文件夹的svn属性
- 如何去除文件夹的svn属性
- C#反射教程(4)
- Idempotent Consumer
- VirtualBox NAT 端口映射(3.2.0版本以上)搭建web服务器
- 【喜报】老孙的博客获 ☆2010年度十大杰出IT博客☆ 殊荣
- Build Linux Kernel
- C# 去除文件和文件夹的只读属性
- 搭建flv可拖拽流媒体服务器方案之CentOS5.5+Lighttpd
- memcache 基于windw下安装
- 运行时库、标准库和系统api
- C#反射教程(5)
- Ostube2.6开源 flv流媒体服务器在系统Centos5.5的搭建
- Asp.net生成Word文檔時加上頁眉頁腳
- windows 的线程与消息
- Android 3.0 Platform Highlights