Directory和Directorylnfo类

Directory和DirectoryInfo类提供用于创建、移动以及遍历目录和子目录的常用方法。由于Directory类的所有方法都是静态的,因此不用创建这个类的实例就可以调用这些方法。DiretoryInfo类只包含实例方法。Directory类的静态方法对所有的方法执行安全检查。如果要多次重用某个对象,可考虑改用Directorylnfo的相应实例方法,因为安全检查并不总是必需的。

下例演示了如何使用Directorylnfo类来创建一个目录内的某种列表。

【实例7-6】  使用Directorylnfo类来创建一个目录内的某种列表。

  1. using System;  
  2. using System.IO;  
  3. class DirectoryLister  
  4. {  
  5.     public static void Main(string[] args)  
  6.     {  
  7.         DirectoryInfo dir=new DirectoryInfo(".");  
  8.         foreach(FileInfo f in dir.GetFiles("*.cs"))  
  9.         {  
  10.            string name=f.FullName;  
  11.            long size=f.Length;  
  12.            DateTime creationTime=f.CreationTime;  
  13.            Console.WriteLine("{0,-12:NO} {1,-20:g} {2}",size,creationTime,name);  
  14.         }  
  15.     }  

在上面的示例中,Dimctorylnfo对象是当前目录,用"."表示。代码列出了当前目录下扩展名为.cs的所有文件名,以及文件大小和创建时间。

假定在驱动器C的\Bin子目录下存在扩展名为.cs的文件,则代码的输出如下。

  1. 9537/20/2006 1042 AH c:\B1n\paramatt.cs  
  2. 6647/27/2006 311 PM c:\Bin\tst.cs  
  3. 4038/8/2006 IO:25 AM c:\Bin\dirlist.cs 

如果想要另一个目录如C:\下的文件列表,记住要使用反斜杠(\)这个转义字符。

  1. "c:\\" 

或在C#中使用一个@引用字符串:

  1. @"c:\" 

若要以跨平台的方式处理目录字符串,则应使用Path类。Path类的成员可以快速、方便地完成一些常见操作,例如确定文件扩展名是否是路径的一部分,以及将两个字符串组合成一个路径名等。

posted @ 2010-04-03 22:20  逆时针  阅读(411)  评论(0编辑  收藏  举报