FileAttributes枚举是一个专门用于标记硬盘上的文件属性的枚举,枚举的说明在这里:http://www.cnblogs.com/kissdodog/archive/2013/01/16/2863515.html

源代码附在最下面。最源代码看来,我们可以得出的信息,这是一个标志枚举。此FileAttribute枚举通常由File的GetAttributes方法返回一个此枚举实例,要获取具体的成员值还需要通过位运算才能得到结果,在上面那篇枚举的文章中已经有说明。

例如要获取一个文本是否为只读的

            FileAttributes f = File.GetAttributes(@"E:\file.txt");
if ((f & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) //此处实现了判断文件是否只读,还叫什么,位运算,还得学为运算
{
Console.Write("此文件是只读的");
}
else
{
Console.Write("此文件不是只读的");
}

再比如要设置文件只读而且是隐藏的:

File.SetAttributes(@"E:\file.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);

位运算对于标志枚举是非常有用的,一定要熟练掌握,一下给出该枚举的全部成员以及成员值。

其成员和值如下

ReadOnly = 1  文件是只读的

Hidden = 2    文件是隐藏的

System = 4     文件是系统文件

Directory = 16   文件是一个目录

Archive = 32    文件的存档状态

Device = 64   保留供将来使用

Normal = 128  文件正常,没有其他属性

Temporary = 256  文件是临时文件

SparseFile = 512    文件是稀疏文件,通常是占用大空间的空文件

ReparsePoint = 1024  文件包含一个重新分析点,它是一个与文件或目录关联的用户定义的数据块。

Compressed = 2048  文件已压缩。

Offline = 4096        文件已脱机。文件数据不能立即供使用。

NotContentIndexed = 8192  操作系统的内容索引服务不会创建此文件的索引。

Encrypted = 16384  该文件或目录是加密的。对于文件来说,表示文件中的所有数据都是加密的。对于目录来说,表示新创建的文件和目录在默认情况下是加密的。

最后附上源代码:

    // 摘要:
// 提供文件和目录的属性。
[Serializable]
[Flags]
[ComVisible(true)]
public enum FileAttributes
{
// 摘要:
// 文件为只读。
ReadOnly = 1,
//
// 摘要:
// 文件是隐藏的,因此没有包括在普通的目录列表中。
Hidden = 2,
//
// 摘要:
// 文件为系统文件。文件是操作系统的一部分或由操作系统以独占方式使用。
System = 4,
//
// 摘要:
// 文件为一个目录。
Directory = 16,
//
// 摘要:
// 文件的存档状态。应用程序使用此属性为文件加上备份或移除标记。
Archive = 32,
//
// 摘要:
// 保留供将来使用。
Device = 64,
//
// 摘要:
// 文件正常,没有设置其他的属性。此属性仅在单独使用时有效。
Normal = 128,
//
// 摘要:
// 文件是临时文件。文件系统试图将所有数据保留在内存中以便更快地访问,而不是将数据刷新回大容量存储器中。不再需要临时文件时,应用程序会立即将其删除。
Temporary = 256,
//
// 摘要:
// 文件为稀疏文件。稀疏文件一般是数据通常为零的大文件。
SparseFile = 512,
//
// 摘要:
// 文件包含一个重新分析点,它是一个与文件或目录关联的用户定义的数据块。
ReparsePoint = 1024,
//
// 摘要:
// 文件已压缩。
Compressed = 2048,
//
// 摘要:
// 文件已脱机。文件数据不能立即供使用。
Offline = 4096,
//
// 摘要:
// 操作系统的内容索引服务不会创建此文件的索引。
NotContentIndexed = 8192,
//
// 摘要:
// 该文件或目录是加密的。对于文件来说,表示文件中的所有数据都是加密的。对于目录来说,表示新创建的文件和目录在默认情况下是加密的。
Encrypted = 16384,

FileAttributes枚举的更多相关文章

  1. [CLR via C#]15. 枚举类型和位标志

    一.枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对. 例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal en ...

  2. 重温CLR(十一) 枚举类型、位标志和数组

    枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对.例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal enum ...

  3. C#遍历指定文件夹中的所有文件和子文件夹

    参考:http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html DirectoryInfo TheFolder=new Direc ...

  4. C#遍历文件夹及文件

    背景: 想自己实现一个网盘系统,于是需要用到遍历文件(夹)操作. C#基本知识梳理: 1.如何获取指定目录包含的文件和子目录 (1). DirectoryInfo.GetFiles():获取目录中(不 ...

  5. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  6. c# 文件遍历

    DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder ...

  7. C# IO

    在.NET框架中进行的所有IO操作都要用到流(Stream). System.IO命名空间中包含许多IO相关的类,C#文件读写的类几乎都在其中,下面对其进行详细介绍. 主要类列表: 类 说明 Bina ...

  8. System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)

    一.建立的文件夹(对这些文件进行以上四个类的操作): 父目录: 父目录的子目录以及父目录下的文件: 子目录下的文件: 二.效果图 三.代码实现 using System; using System.I ...

  9. C# 读取文件的修改时间、访问时间、创建时间

    C# 获取文件的各个时间如下: 表2<ccid_nobr> 属性 功能和用途 Attributes 返回和文件相关的属性值,运用了FileAttributes枚举类型值 CreationT ...

随机推荐

  1. Qt5+VS2013兼容XP方法

    用Qt5+VS2013编译程序默认配置会在XP运行时报"不是有效的Win32程序"工作需要必须要XP运行 pro文件中加一句: 复制代码 QMAKE_LFLAGS_WINDOWS ...

  2. execl csv导出

    方维js方法:function export_csv() { var inputs = $(".search_row").find("input:[type!='chec ...

  3. phpcms加载系统类与加载应用类之区别详解

    <?php 1. 加载系统类方法load_sys_class($classname, $path = ''", $initialize = 1)系统类文件所在的文件路径:/phpcms ...

  4. pyqt treeview基础学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  5. python学习之路-3 初始python数据类型以及文件操作

    本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  6. 《Swift开发指南》国内第一本Swift图书上市了

    <Swift开发指南>国内第一本Swift图书上市了 既<courseId=799262">苹果Swift编程语言开发指南>视频教程地址:courseId=79 ...

  7. CCA概述和安装

    什么是CCA? 客户关怀加速器(CCA)为微软动态®CRM通过集中的客户信息从不同的系统在一个集成代理桌面促进剂的效率和有效性. CCA是一个參考应用,利用用户界面集成(UII)为微软Dynamics ...

  8. .net 4.5 新特性 async await 一般处理程序实例

    using System; using System.Collections.Generic; using System.Linq; using System.Threading; using Sys ...

  9. 微软提供了三个核心服务:Windows+Office 365+Azure

    微软提供了三个核心服务:Windows+Office 365+Azure 英语新闻来源:http://techcrunch.com/2014/11/10/microsofts-ceo-breaks-d ...

  10. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6666491 在前面一篇文章Android系统匿 ...