DirectoryInfo
是.NET Framework中的一個類,它提供了一種方法來獲取有關目錄的信息。要使用DirectoryInfo
遍歷文件夾,你可以按照以下步驟操作:
DirectoryInfo
對象,該對象表示要遍歷的目錄。你可以通過將目錄的路徑作為參數傳遞給 DirectoryInfo
類的構造函數來創建它。string directoryPath = @"C:\path\to\your\directory";
DirectoryInfo di = new DirectoryInfo(directoryPath);
獲取目錄中的所有文件和子目錄:一旦你有了 DirectoryInfo
對象,你可以使用它的 GetFiles()
和 GetDirectories()
方法來獲取目錄中的所有文件和子目錄。
GetFiles()
方法返回一個 FileInfo
對象數組,表示目錄中的所有文件。GetDirectories()
方法返回一個 DirectoryInfo
對象數組,表示目錄中的所有子目錄。你可以遞歸地調用這些方法來遍歷整個目錄樹。遍歷文件和子目錄:你可以使用循環來遍歷從 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()
方法用于遞歸遍歷子目錄。這些方法接受一個通配符參數,允許你指定要搜索的子目錄和文件的模式。在這個例子中,我們使用了星號(*)作為通配符,這意味著它將匹配所有子目錄和文件。