c# – 清空目录的最佳方法是什么?
发布时间:2020-12-15 18:06:56 所属栏目:百科 来源:网络整理
导读:有没有办法删除所有文件指定目录的子目录而不迭代它们? 非优雅的解决方案: public static void EmptyDirectory(string path){ if (Directory.Exists(path)) { // Delete all files foreach (var file in Directory.GetFiles(path)) { File.Delete(file); }
有没有办法删除所有文件&指定目录的子目录而不迭代它们?
非优雅的解决方案: 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(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |