如何使用directoryinfo遍历文件夹

avatar
作者
猴君
阅读量:0

DirectoryInfo是.NET Framework中的一个类,它提供了一种方法来获取有关目录的信息。要使用DirectoryInfo遍历文件夹,你可以按照以下步骤操作:

  1. 创建 DirectoryInfo 对象:首先,你需要创建一个 DirectoryInfo 对象,该对象表示要遍历的目录。你可以通过将目录的路径作为参数传递给 DirectoryInfo 类的构造函数来创建它。
string directoryPath = @"C:\path\to\your\directory"; DirectoryInfo di = new DirectoryInfo(directoryPath); 
  1. 获取目录中的所有文件和子目录:一旦你有了 DirectoryInfo 对象,你可以使用它的 GetFiles()GetDirectories() 方法来获取目录中的所有文件和子目录。

    • GetFiles() 方法返回一个 FileInfo 对象数组,表示目录中的所有文件。
    • GetDirectories() 方法返回一个 DirectoryInfo 对象数组,表示目录中的所有子目录。你可以递归地调用这些方法来遍历整个目录树。
  2. 遍历文件和子目录:你可以使用循环来遍历从 GetFiles()GetDirectories() 返回的集合。对于每个文件或子目录,你可以执行所需的操作,例如打印其名称、大小、创建日期等。

下面是一个简单的示例,演示了如何使用 DirectoryInfo 遍历文件夹及其子文件夹,并打印每个文件的名称和大小:

string directoryPath = @"C:\path\to\your\directory"; DirectoryInfo di = new DirectoryInfo(directoryPath);  // 获取目录中的所有文件和子目录 FileInfo[] files = di.GetFiles(); DirectoryInfo[] directories = di.GetDirectories();  // 遍历所有文件 Console.WriteLine("Files:"); foreach (FileInfo file in files) {     Console.WriteLine("{0}, {1} bytes", file.Name, file.Length); }  // 递归遍历所有子目录 Console.WriteLine("\nDirectories:"); foreach (DirectoryInfo dir in directories) {     Console.WriteLine(dir.Name);     // 递归遍历子目录中的文件和子目录     string subDirectoryPath = Path.Combine(dir.FullName, "*");     DirectoryInfo[] subDirectories = Directory.GetDirectories(subDirectoryPath);     DirectoryInfo[] subFiles = Directory.GetFiles(subDirectoryPath);     foreach (DirectoryInfo subDir in subDirectories)     {         Console.WriteLine(subDir.Name);     }     foreach (FileInfo subFile in subFiles)     {         Console.WriteLine(subFile.Name);     } } 

请注意,上述示例中的 Directory.GetDirectories()Directory.GetFiles() 方法用于递归遍历子目录。这些方法接受一个通配符参数,允许你指定要搜索的子目录和文件的模式。在这个例子中,我们使用了星号(*)作为通配符,这意味着它将匹配所有子目录和文件。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!