与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);
}
}