如何删除目录中的所有文件和文件夹?
使用C#,如何从目录中删除所有文件和文件夹,但仍保留根目录?
回答:
System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");foreach (FileInfo file in di.GetFiles())
{
file.Delete();
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
dir.Delete(true);
}
如果您的目录可能包含许多文件,EnumerateFiles()
则效率要高于GetFiles()
,因为使用EnumerateFiles()
时可以在返回GetFiles()
整个集合之前开始枚举,而不是在开始枚举之前需要在内存中加载整个集合。在这里看到这个报价:
因此,当您处理许多文件和目录时,EnumerateFiles()可能会更高效。
EnumerateDirectories()
和和相同GetDirectories()
。因此,代码将是:
foreach (FileInfo file in di.EnumerateFiles()){
file.Delete();
}
foreach (DirectoryInfo dir in di.EnumerateDirectories())
{
dir.Delete(true);
}
出于这个问题的目的,实际上没有理由使用GetFiles()
和GetDirectories()
。
以上是 如何删除目录中的所有文件和文件夹? 的全部内容, 来源链接: utcz.com/qa/405985.html