gpt4 book ai didi

c# - 清空目录的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 19:59:14 25 4
gpt4 key购买 nike

有没有一种方法可以删除指定目录的所有文件和子目录而不用遍历它们?

非优雅的解决方案:

public static void EmptyDirectory(string path)
{
if (Directory.Exists(path))
{
// Delete all files
foreach (var file in Directory.GetFiles(path))
{
File.Delete(file);
}

// Delete all folders
foreach (var directory in Directory.GetDirectories(path))
{
Directory.Delete(directory, true);
}
}
}

最佳答案

System.IO.Directory.Delete 怎么样?它有一个递归选项,你甚至可以使用它。查看您的代码,您似乎正在尝试做一些稍微不同的事情——清空目录而不删除它,对吗?好吧,您可以删除它并重新创建它:)


无论如何,您(或您使用的某种方法)必须遍历所有文件和子目录。但是,您可以使用 GetFileSystemInfos 同时遍历文件和目录。 :

foreach(System.IO.FileSystemInfo fsi in 
new System.IO.DirectoryInfo(path).GetFileSystemInfos())
{
if (fsi is System.IO.DirectoryInfo)
((System.IO.DirectoryInfo)fsi).Delete(true);
else
fsi.Delete();
}

关于c# - 清空目录的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1184451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com