在C#中检查子目录

6
我正在将从rar/zip文件中提取的文件存储在一个文件夹中。
之后,我将该文件夹中的文件存储到数据库中。问题是它仅存储了文件夹中的文件,而没有子目录和其文件。
如何查找文件夹是否有子目录。
我使用以下代码。
 Directory.CreateDirectory(StorageRoot + path + New_folder);
 decom(StorageRoot + path + New_folder, StorageRoot + path + file.FileName);
 foreach (var access_file in Directory.GetFiles(StorageRoot + path + New_folder))
 {                     
     string new_name=System.IO.Path.GetFileName(access_file);
     FileInfo f = new FileInfo(StorageRoot + path + New_folder+ "/" + new_name);
     int new_size = unchecked((int)f.Length);
     string new_path = path + New_folder;
     statuses.Add(new FilesStatus(new_name, new_size, new_path, StorageRoot, data));
 }

如何获取文件夹中的文件和目录列表,并将它们保存到数据库中?
3个回答

2

要获取文件夹中的文件和目录,可以使用Directory.GetFiles()和Directory.GetDirectories()。

使用递归或队列来递归遍历目录。

递归示例:

void Traverse(string directory)
{
    foreach(var dir in Directories.GetDirectories(directory))
    {
         Traverse(directory);
    }

    // Your code here
}

谢谢,伙计。我会试试的。虽然我现在还不到15岁,但我会点赞的。 - Jhonny
不用担心 +1。希望这能有所帮助。 - Nikolay Kostov
您无需任何声望即可接受并回答正确。 - Mark Broadhurst

2
这可能会有帮助:
    System.IO.DirectoryInfo info = new System.IO.DirectoryInfo("YOUR PATH");

    //List of directories
    var result = info.GetDirectories().Select(i => i.FullName);

您可以使用GetDirectories获取子文件夹的DirectoryInfo,并通过迭代它们直到Getdirectories不再返回任何内容。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接