Directory和DirectoryInfo类提供用于创建、移动以及遍历目录和子目录的常用方法。由于Directory类的所有方法都是静态的,因此不用创建这个类的实例就可以调用这些方法。DiretoryInfo类只包含实例方法。Directory类的静态方法对所有的方法执行安全检查。如果要多次重用某个对象,可考虑改用Directorylnfo的相应实例方法,因为安全检查并不总是必需的。
下例演示了如何使用Directorylnfo类来创建一个目录内的某种列表。
【实例7-6】 使用Directorylnfo类来创建一个目录内的某种列表。
-
using System;
-
using System.IO;
-
class
DirectoryLister
-
{
-
public
static
void
Main(string[] args)
-
{
-
DirectoryInfo dir=
new
DirectoryInfo(
"."
);
-
foreach(FileInfo f in dir.GetFiles(
"*.cs"
))
-
{
-
string name=f.FullName;
-
long
size=f.Length;
-
DateTime creationTime=f.CreationTime;
-
Console.WriteLine(
"{0,-12:NO} {1,-20:g} {2}"
,size,creationTime,name);
-
}
-
}
-
}
在上面的示例中,Dimctorylnfo对象是当前目录,用"."表示。代码列出了当前目录下扩展名为.cs的所有文件名,以及文件大小和创建时间。
假定在驱动器C的\Bin子目录下存在扩展名为.cs的文件,则代码的输出如下。
-
9537
/
20
/
2006
10
:
42
AH c:\B1n\paramatt.cs
-
6647
/
27
/
2006
3
:
11
PM c:\Bin\tst.cs
-
4038
/
8
/
2006
IO:
25
AM c:\Bin\dirlist.cs
如果想要另一个目录如C:\下的文件列表,记住要使用反斜杠(\)这个转义字符。
-
"c:\\"
或在C#中使用一个@引用字符串:
-
@
"c:\"
若要以跨平台的方式处理目录字符串,则应使用Path类。Path类的成员可以快速、方便地完成一些常见操作,例如确定文件扩展名是否是路径的一部分,以及将两个字符串组合成一个路径名等。

