ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#中DirectoryInfo类、目录信息类、文件夹信息类的用法

2019-03-22 22:48:04  阅读:521  来源: 互联网

标签:文件 C# DirectoryInfo 获取 文件夹 FileInfo 目录


一、file和fileinfo都提供对文件的操作

        ①file类提供静态的方法,file类不能被继承,也不能产生实例,如果只需要使用一次或者次数很少,那么使用file类会比使用fileinfo效率高,但是file类每次都会花时间对方法进行安全检查,而fileinfo只是在实例产生时进行一次检查,以后就不会检查,这样的话,如果需要反复对文件操作,使用fileinfo就会比使用file效率高

       同理directory和directoryinfo也是同样的

       ②filesysteminfo提供fileinfo和directoryinfo的共有方法,实现对文件或目录进行操作当不确定操作的对象是文件还是目录时使用filesysteminfo就会很方便。

 

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

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

表  DirectoryInfo类的常用属性及说明

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

(1)CreationTime 属性

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

语法:


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

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


(2)Exists属性

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

语法:


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

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


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

表 DirectoryInfo类的常用方法及说明


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

(1)Create方法

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

语法:


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


(2)GetFileSystemInfos方法

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

语法:


返回值:

强类型 FileSystemInfo 项的数组。

(3)MoveTo方法

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

语法:


参数:

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

(4)Delete方法

删除指定的文件夹。

语法:


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

三、遍历文件夹中的所有文件

3.1、C#遍历指定文件夹中的所有文件 

DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);


3.2、遍历文件夹

foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())   this.listBox1.Items.Add(NextFolder.Name);

3.3、遍历文件

foreach(FileInfo NextFile in TheFolder.GetFiles())   this.listBox2.Items.Add(NextFile.Name);

3.4、如何获取指定目录包含的文件和子目录
   

 1.获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;    
    DirectoryInfo.GetFiles():
 2.获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;               
    DirectoryInfo.GetDirectories():
 3.获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
    DirectoryInfo. GetFileSystemInfos(): 
 


3.5、如何获取指定文件的基本信息
 

FileInfo.Exists:    //获取指定文件是否存在;    
FileInfo.Name,FileInfo.Extensioin:  //获取文件的名称和扩展名;    
FileInfo.FullName:  //获取文件的全限定名称(完整路径);    
FileInfo.Directory: //获取文件所在目录,返回类型为DirectoryInfo;    
FileInfo.DirectoryName:  //获取文件所在目录的路径(完整路径);    
FileInfo.Length:  //获取文件的大小(字节数);    
FileInfo.IsReadOnly:  //获取文件是否只读;    
FileInfo.Attributes:  //获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合;    
FileInfo.CreationTime:   //获取文件的创建时间;    
FileInfo.LastAccessTime:   //获取文件的访问时间   
FileInfo.LastWriteTime:   //获取文件的修改时间;

   

注意:本文内容来自:https://blog.csdn.net/u011854789/article/details/52770456

                                    https://blog.csdn.net/kongfuxionghao/article/details/5468336

                                    http://www.cnblogs.com/qianqianfy/archive/2009/07/08/1518974.html

 

 

 

标签:文件,C#,DirectoryInfo,获取,文件夹,FileInfo,目录
来源: https://blog.csdn.net/xiaochenXIHUA/article/details/88751320

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有