在很多场景下,开发者会遇到需要删除目录中所有文件和文件夹,同时保留根目录的情况。 C# 提供了一种简单的方法来完成此任务。
首先,实例化一个指向目标目录的 DirectoryInfo 对象:
System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");
现在,迭代目录中的文件并删除每个文件one:
foreach (FileInfo file in di.GetFiles()) { file.Delete(); }
接下来遍历目录中的目录,并逐一删除递归地:
foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }
此方法有效地从目录中删除所有文件和文件夹,仅保留根目录完好无损。
为了获得最佳效率,请考虑使用 EnumerateFiles() 和 EnumerateDirectories() GetFiles() 和 GetDirectories() 的组合。这些方法允许增量枚举,避免将整个集合加载到内存中的开销。使用以下方法修改后的代码:
foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }
通过采用此方法,您可以有效地删除目录中的所有文件和文件夹,同时保留根目录。
以上是如何在C#中高效地删除目录中的文件和文件夹?的详细内容。更多信息请关注PHP中文网其他相关文章!