与Directory相似DirectoryInfo类也提供了用于获取文件,子文件的方法,这些方法的声明如下

返回当前目录的所有子目录

Public DirectoryInfo[] GetDirectories();

使用指定的搜索模式返回当前目录的所有子目录

public DirectoryInfo[] GetDirectories(string searchPatterm);

使用指定的搜索模式返回当前的所有子目录,并指定是否搜索子目录

public DirectoryInfo[] GetDirectories(string searchPatterm,SearchOption searchOption)

返回当前目录下的所有文件,为每个文件返回一个FileInfo对象

public FileInfo[] GetFiles();

使用指定的搜索模式返回当前目录下的所有文件,为每个文件返回一个FileInfo对象

public FileInfo[] GetGFiles(string searchpattern)

使用指定的搜索模式返回当前目录下所有文件,为每个文件返回一个FileInfo对象,并指定是否搜索子目录

public FileInfo[] GetGFiles(string searchpattern,SearchOption searchoption )

检索表示当前目录的文件和子目录的强行类FileSystemInfo对象数组

public FileSystemInfo[] GetFileSystemInfos();

检索表示当前目录的文件和子目录的强行类型FileSystemInfo对象数组,指定搜索模式

public FileSystemInfo[] GetFileSystemInfos(string searchpattern);

下面是代码

const string windowsPath = @"C:\Windows";
            DirectoryInfo di = new DirectoryInfo(windowsPath);
            //获取C:\windows下搜友的顶层文件夹
            DirectoryInfo[] dis = di.GetDirectories();
            //通过指定搜索模式,指定SearchOption。AllDirectories表示搜索所有子目录中的目录
              dis = di.GetDirectories("*", SearchOption.AllDirectories);
            DisplayResult(dis);
            Console.WriteLine("--------------------------------------------");
            //获取顶层目录中的所有文件
            //FileInfo fis = di.GetFiles();
            FileInfo[] fis = di.GetFiles("*", SearchOption.TopDirectoryOnly);
            DisplayResult(fis);
            Console.WriteLine("--------------------------------------------");
            //获取搜友的FileSystemInfo对象
            FileSystemInfo[] fsi = di.GetFileSystemInfos("*");
            DisplayResult(fsi);
            Console.WriteLine("--------------------------------------------");
            #endregion

            Console.ReadKey();
        }
        public static void DisplayResult(DirectoryInfo[] dis)
        {
            foreach (DirectoryInfo item in dis)
            {
                Console.WriteLine(item.FullName);
            }
        }
        public static void DisplayResult(FileInfo[] fi)
        {
            foreach (FileInfo item in fi)
            {
                Console.WriteLine(item.FullName);
            }
        }
        public static void DisplayResult(FileSystemInfo[] fis)
        {
            foreach (FileSystemInfo item in fis)
            {
                Console.WriteLine(item.FullName);
            }
        }

 

 

Posted on 2011-01-06 21:28  lichen396116416  阅读(2340)  评论(1编辑  收藏  举报