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

一、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

猜你喜欢

转载自blog.csdn.net/xiaochenXIHUA/article/details/88751320