首页 理论教育 使用Directory和DirectoryInfo的指南

使用Directory和DirectoryInfo的指南

时间:2023-10-22 理论教育 版权反馈
【摘要】:Directory类和DirectoryInfo类的功能类似,主要功能如下。表14-4 类Directory方法信息类DirectoryInfo的主要属性信息如表14-5所示。在使用DirectoryInfo时,必须先构造DirectoryInfo实例,并传入当前操作目录的路径。如果在项目中需要多次重用某个对象,最好使用DirectoryInfo实例方法,而不使用Directory。图14-2 实例执行结果如果在某个目录内存在多个文件或子目录,使用Directory和DirectoryInfo类将不能删除这个目录。实例62:使用Directory和DirectoryInfo的方法和属性本实例保存在“光盘:\daima\14”文件夹内,项目名为DirectoryDirectoryInfo。

使用Directory和DirectoryInfo的指南

Directory类和DirectoryInfo类的功能类似,主要功能如下。

1)实现基本的文件复制、移动、重命名、创建和删除等基本操作。

2)列举目录中的文件和子目录。

3)获取和设置目录信息,实现目录创建、访问和写入等操作相关的时间信息。

类Directory的主要方法信息如表14-4所示。

表14-4 类Directory方法信息

978-7-111-36370-5-Part03-143.jpg

类DirectoryInfo的主要属性信息如表14-5所示。

表14-5 类DirectoryInfo属性信息

978-7-111-36370-5-Part03-144.jpg

类DirectoryInfo的主要方法信息如表14-6所示。

表14-6 类DirectoryInfo方法信息

978-7-111-36370-5-Part03-145.jpg

使用类Directory的方法和File的类似,因为所有的Directory类方法都是静态的,所以当只执行一个操作时,使用Directory方法的效率会高于使用DirectoryInfo实例方法的效率。看下面一段代码:

978-7-111-36370-5-Part03-146.jpg

978-7-111-36370-5-Part03-147.jpg

上述代码执行后,将会在E盘内创建一个名为“123.txt”的文件。

使用DirectoryInfo类的方法和使用FileInfo类的方法类似。在使用DirectoryInfo时,必须先构造DirectoryInfo实例,并传入当前操作目录的路径。如果在项目中需要多次重用某个对象,最好使用DirectoryInfo实例方法,而不使用Directory。看下面的一段代码:

978-7-111-36370-5-Part03-148.jpg

执行后将会在E盘内检查是否存在名为“123”的文件夹,并输出对应的提示,如图14-2所示。(www.xing528.com)

978-7-111-36370-5-Part03-149.jpg

图14-2 实例执行结果

如果在某个目录内存在多个文件或子目录,使用Directory和DirectoryInfo类将不能删除这个目录。下面通过一个具体实例来具体讲解解决上述限制的办法。

实例62:使用Directory和DirectoryInfo的方法和属性

本实例保存在“光盘:\daima\14”文件夹内,项目名为DirectoryDirectoryInfo。功能是使用Directory和DirectoryInfo的方法和属性,删除“e:\123”目录。其中“e:\123”目录下有三个子目录,如图14-3所示。

978-7-111-36370-5-Part03-150.jpg

图14-3 “123”目录下的子目录

实例文件Program.cs的主要代码如下:

978-7-111-36370-5-Part03-151.jpg

978-7-111-36370-5-Part03-152.jpg

上述实例代码的设计流程如下。

1)定义变量dir,设置删除的目录是“e:\123”。

2)如果dir为空则输出提示。

3)通过FileInfo实例files获取目录中的文件。

4)通过foreach语句删除目录内的所有文件。

5)通过DirectoryInfo实例dirs,获取目录内的所有子目录。

6)通过foreach语句删除目录内的所有子目录。

7)当子目录和子文件删除完毕后,则将“e:\123”文件夹删除。

执行后首先默认显示控制台界面,按〈Enter〉键后将删除对应的子目录,删除完毕后退出控制台界面。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈