HuB*_*eZa 7 .net c# filesystems
有没有办法删除指定目录的所有文件和子目录而不迭代它们?
非优雅的解决方案:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Blu*_*kMN 10
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2496 次 |
| 最近记录: |