猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何删除目录中的所有文件和文件夹?
如何删除目录中的所有文件和文件夹?
使用C#,如何从目录中删除所有文件和文件夹,但仍保留根目录?
饮歌长啸
浏览 556
回答 3
3回答
人到中年有点甜
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()
0
0
0
手掌心
是的,这是正确的方法。如果你想给自己一个“干净”(或者,我更喜欢称之为“清空”功能),你可以创建一个扩展方法。public static void Empty(this System.IO.DirectoryInfo directory){ foreach(System.IO.FileInfo file in directory.GetFiles()) file.Delete(); foreach(System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true);}这将允许你做类似的事情..System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(@"C:\...");directory.Empty();
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续