【IT168技术文档】
我们首先要讨论的用于I/O的类型是DirectoryInfo类。它包含一组用来创建、移动、删除和枚举所有目录/子目录的成员。表16-3列举了除了它的基类(FileSystemInfo)提供的功能外的一些成员。

我们首先指定一个特别的目录路径作为构造函数的参数。如果需要访问当前应用程序目录的话(比如执行的应用程序的目录),可以使用“.”符号。下面是一些例子:
在第二个例子中,必须确保传入构造函数的路径(C:\Windows)是在物理计算机上存在的。然而如果试图使用一个不存在的目录,系统会抛出System.IO.DirectoryNotFoundException异常。因此,如果指定了一个尚未创建的目录的话,在对目录进行操作前首先需要调用Create()方法。// 绑定到当前的应用程序目录。 DirectoryInfo dir1 = new DirectoryInfo("."); // 使用verbatim字符串绑定到C:\Windows。 DirectoryInfo dir2 = new DirectoryInfo(@"C:\Windows");
创建了DirectoryInfo对象后,就能使用任何一个派生自FileSystemInfo的属性来获取基层目录的内容。例如,下面这个类创建了一个新的DirectoryInfo对象并且映射到C:\Windows(如果需要的话,可以调整路径),然后显示许多相关的统计信息(输出结果如图16-2所示):// 绑定到一个不存在的目录,然后创建它。 DirectoryInfo dir3 = new DirectoryInfo(@"C:\Windows\Testing"); dir3.Create();
class Program { static void Main(string[] args) { Console.WriteLine("***** Fun with Directory(Info) *****\n"); DirectoryInfo dir = new DirectoryInfo(@"C:\Windows"); // 打印目录信息。 Console.WriteLine("***** Directory Info *****"); Console.WriteLine("FullName: {0} ", dir.FullName); Console.WriteLine("Name: {0} ", dir.Name); Console.WriteLine("Parent: {0} ", dir.Parent); Console.WriteLine("Creation: {0} ", dir.CreationTime); Console.WriteLine("Attributes: {0} ", dir.Attributes); Console.WriteLine("Root: {0} ", dir.Root); Console.WriteLine("**************************\n"); } }