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. HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-ISAPI-4.0_32bit”在其模块

    问题: 系统是win7.今天把我做过的项目发布后,在IIS上运行时一直出现一个错误,HTTP 错误500.21-Internal Server Error.处理程序“PageHandlerFactor ...

  2. soj 1700 ping_简单dp

    题目链接 题意:给你一个无向图,求n边的最短路 思路:用最短路想了半天都没想出来,比赛结束回去看看原来用dp做,我的dp有待提高啊 sp[i][k]=min(sp[j][k-1]+dp[j][i])/ ...

  3. JS中简单的this学习

        我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子:   var x = 10; var foo = { x ...

  4. 最详细的 HTTPS 科普扫盲帖

    为什么需要https HTTP是明文传输的,也就意味着,介于发送端.接收端中间的任意节点都可以知道你们传输的内容是什么.这些节点可能是路由器.代理等. 举个最常见的例子,用户登陆.用户输入账号,密码, ...

  5. 链表list容器中通过splice合并链表与merge的不同,及需要注意的问题

    #include "stdafx.h" #include <iostream> #include <list> #include <algorithm ...

  6. 【算法】插入排序 insertion_sort

    准备写个<STL 源代码剖析>的读书笔记,开个专栏.名为<STL 的实现>,将源代码整理一遍.非常喜欢侯捷先生写在封底的八个字:天下大事.必作于细.他在书中写到:"我 ...

  7. linux基础内容学习一:linux下的分区及安装

    linux看系统版本信息 uname -a 如果显示为i386,i686则为32位系统,如果为x86_64则为64位 一块硬盘最多可以有四个主分区其中一个主分区可以用一个扩展分区替换,在这个扩展分区中 ...

  8. Android中Binder的基础知识点

    Android Binder基础知识点 一 传统IPC和Binder机制的比较 传统IPC: 1)收方无法获得对方进程可靠的UID/PID,从而无法鉴别对方身份. 2)接入点开放,无法建立私有通道. ...

  9. Code Complete阅读笔记(一)

    代码大全也读了好几个月了,一开始读中文版,到现在慢慢尝试着读原版,确实感受到了"每天进步一点点"的魅力.遗憾的是没有从一开始就做阅读记录,总有不能尽兴和思路不清之感.确实,就像项目 ...

  10. 百度地图API提示"230错误 APP Scode校验失败"

    笔者近2天在 Android Studio上玩了一下百度地图,碰到了常见的"230错误 APP Scode校验失败",下面我来介绍一下具体的解决办法. 1.在andriodstud ...