zoukankan      html  css  js  c++  java
  • FileAttributes枚举

    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,
    复制代码
  • 相关阅读:
    《如何快速阅读一本书》读书笔记总结(实测,对提升阅读速度和质量非常有用)---2020年的第8/100本 (一目十行读书训练法)
    穷查理宝典 读书笔记--2020年的第1/100本
    200个查理芒格思维模型---多元思维模型
    lintcode算法周竞赛
    2016 Google code jam 大赛
    程序员面试心得总结
    (lintcode全部题目解答之)(附容易犯的错误)
    模板
    《非连续性》 混沌大学商学院第3章 读书笔记总结--2020年的第19/100本
    《第二曲线》 混沌大学商学院第2章 读书笔记总结--2020年的第18/100本
  • 原文地址:https://www.cnblogs.com/mingxuantongxue/p/3680906.html
Copyright © 2011-2022 走看看