• c# DirectoryInfo类 详解


    DirectoryInfo类和Directory类之间的关系与FileInfo类和File类之间的关系十分类似。下面介绍一下DirectoryInfo类的常用属性。

    DirectoryInfo类的常用属性及说明如表所示。

    表  DirectoryInfo类的常用属性及说明

     

    属性 说明
    Attributes  设置当前 FileSystemInfo 的 FileAttributes
    CreationTime  设置当前 FileSystemInfo 对象的创建时间
    Exists 获取指示目录是否存在的值
    FullName  获取目录或文件的完整目录
    Parent 获取指定子目录的父目录
    Name 获取此 DirectoryInfo 实例的名称

     

     

     

     

     

     

     


    下面对DirectoryInfo类中比较重要的属性进行详细介绍。

    (1)CreationTime 属性

    设置当前 FileSystemInfo 对象的创建时间。

    语法:

     

    public DateTime CreationTime { get; set; }


    属性值:当前 FileSystemInfo 对象的创建日期和时间。

    例如,获得F: est000目录下文件夹AA的创建日期和时间,首先将DirectoryInfo实例化,然后通过CreationTime属性得到此文件夹的创建日期和时间。代码如下所示:


         

       string Paths = @"F:	est000AA";
    
            DirectoryInfo di = new DirectoryInfo(Paths);// 将DirectoryInfo实例化
    
            string name = di.CreationTime.ToString();//通过CreationTime属性得到此文件夹的创建日期和时间
    
            Label1.Text = "文件夹创建时间:"+name;


     


    (2)Exists属性

    判断指定的文件夹是否存在。

    语法:

     

    public override bool Exists { get; }


    属性值:如果目录存在,则为 True;否则为 False。

    例如,判断F: est000目录下是否存在名为ls的文件夹,首先要将DirectoryInfo实例化,然后通过Exists属性判断此文件夹是否存在,如果文件夹存在,返回值为True,否则为False。代码如下所示:

     

     1 string Paths = @"F:	est000AA";
     2 
     3 DirectoryInfo di = new DirectoryInfo(Paths);
     4 
     5 if (di.Exists)
     6 
     7         {
     8 
     9            Page.RegisterStartupScript("","<script>alert('该文件夹已经存在')</script>");
    10 
    11         }


     


    DirectoryInfo类的常用方法及说明如表所示。

    表    DirectoryInfo类的常用方法及说明

     

    方法
     
    说明
     
    Create 创建目录
    CreateObjRef   创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息
    CreateSubdirectory  在指定路径中创建一个或多个子目录。指定路径可以是相对于 DirectoryInfo 类的此实例的路径 
    Delete  从路径中删除 DirectoryInfo 及其内容
    Equals 确定两个 Object 实例是否相等
    GetAccessControl  获取当前目录的访问控制列表 (ACL) 项 
    GetDirectories  返回当前目录的子目录
    GetFiles  返回当前目录的文件列表
    GetFileSystemInfos 检索表示当前目录的文件和子目录的强类型 FileSystemInfo 对象的数组
    GetHashCode  用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用 
    GetLifetimeService  检索控制此实例的生存期策略的当前生存期服务对象 
    GetObjectData 设置带有文件名和附加异常信息的 SerializationInfo 对象 
    GetType   获取当前实例的 Type 
    InitializeLifetimeService   获取控制此实例的生存期策略的生存期服务对象
    MoveTo  将 DirectoryInfo 实例及其内容移动到新路径
    ReferenceEquals   确定指定的 Object 实例是否是相同的实例
    Refresh   刷新对象的状态 
    SetAccessControl  将 DirectorySecurity 对象所描述的访问控制列表 (ACL) 项应用于当前 DirectoryInfo 对象所描述的目录
    ToString 返回用户所传递的原始路径

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    下面对DirectoryInfo类中比较重要的方法进行详细介绍。

    (1)Create方法

    此方法可以方便的创建目录。

    语法:

     

    public void Create ()


    例如,在D盘下创建名为AA的文件夹,首先要将DirectoryInfo类实例化,然后判断是否存在同名的文件夹,如果不存在,则使用Create方法创建目录。代码如下所示:


          

     1   string path = "D:\AA";
     2 
     3         DirectoryInfo di = new DirectoryInfo(path);
     4 
     5         if (!di.Exists)
     6 
     7         {
     8 
     9             di.Create();
    10 
    11         }
    12 
    13         else
    14 
    15         {
    16 
    17             Response.Write("此文件夹已经存在!");
    18 
    19         }
    20  


    (2)GetFileSystemInfos方法

    返回表示某个目录中所有文件和子目录的强类型FileSystemInfo项的数组。

    语法:

     

    public FileSystemInfo[] GetFileSystemInfos ()


    返回值:

    强类型 FileSystemInfo 项的数组。

    (3)MoveTo方法

    将指定的内容移动到新路径。

    语法:

     

    public void MoveTo (string destDirName)


    参数:

    destDirName :要将此目录移动到的目标位置的名称和路径,目标不能是另一个具有相同名称的磁盘卷或目录。

    (4)Delete方法

    删除指定的文件夹。

    语法:

    public override void Delete ()


    例如,删除D盘下名为AA的文件夹,首先将DirectoryInfo类实例化,然后判断是否存在此文件夹,如果存在则使用Delete方法删除此文件夹。


        

     1     string path = "D:\AA";
     2 
     3         DirectoryInfo di = new DirectoryInfo(path);
     4 
     5         if (di.Exists)
     6 
     7         {
     8 
     9             di. Delete();
    10 
    11         }
    12 
    13         else
    14 
    15         {
    16 
    17             Response.Write("不存在此文件夹!");
    18 
    19         }

     

     

     Directory 与 DirectoryInfo 这两个能够实现大多数相同的功能。

    区别可分为两点:
    一、静态与实例调用 前者必须被实例化后才能使用,而后者则只提 供了静态的方法。如果多次使用某个对象一般使用前者; 如果仅执行某一个操作则使用后者提供的静态方法效率更 高一些。
    Directory 可直接调用,不需要实例化,比如 Directory.Delete(path)。一般比DirectoryInfo的函数要多出一个path参数。 DirectoryInfo 必须实例化才能调用其方法,在频繁地操作某一目录时,这种方式比较方便。
    二、功能多少 DirectoryInfo 的功能要稍微比 Directory 多些、强些,比如 DirectoryInfo 的 GetFiles 返回的是 FileInfo[],而 Directory.GetFiles 返回的是 string[]。




  • 相关阅读:
    Oracle之SYSDBA的使用
    多表关联查询之内关联,左关联
    oracle 性能大提升
    Oracle_in_not-in_distinct_minsu的用法
    oracle之Sequences
    oracle 基本函数小例子--查询身高段分数段
    oracle 求班级平均分
    转汉字为拼音的字库和代码收集
    filezilla显示隐藏文件
    escapeRegExp捕捉通配符的代码解析
  • 原文地址:https://www.cnblogs.com/wq920/p/3304250.html
Copyright © 2020-2023  润新知