使用C#(.NET 2.0),在网络目录中检索文件列表的最佳方法是什么,优先选择按上次写入时间排序,还是根据上次写入时间排除返回值?
我目前正在使用DirectoryInfo实例的GetFiles方法返回一个列表.我遇到的目录可以包含超过6,000个文件,只需要获取一个FileInfo数组就需要大约25秒.
WMI不起作用,我看不到任何其他以.NET为中心的东西,这将有助于这种情况.我错过了什么吗?有没有比使用GetFiles更好的解决方案?
谢谢.
在我的程序中,我创建了一个长目录分支树.当我完成了这棵树的叶子上的某些文件时,我删除了它们,但最终我得到了很多空的父目录.我也想删除它们.但是,我不能只递归删除所有这些父目录,因为它们中的一些还有我无法删除的子项.
示例:C:\ MyProject\Project1\file1\file2\file3\file4\file5\document.txt
如果我删除document.txt,我还想删除路径中的所有其他空文件夹.但是,文件3中有一些东西(除了file4),所以我不能删除它或它上面的任何东西.所以在这种情况下,将删除file4和file5.
将根目录视为Project1.我不想删除上面的任何内容.
有没有人写过这样的东西?
基本上,我可以调用的东西,我可以指定我试图从树中删除的路径(下面的第一个arg),以及树的根(第二个arg).
DeleteEmptySubDirectoriesInPath("C:\MyProject\Project1\file1\file2\file3\file4\file5\",
"C:\MyProject\Project1");
Run Code Online (Sandbox Code Playgroud)
查看它的另一种方法是Directory.CreateDirectory的反转.这是我用来生成这些长分支的函数.现在我需要在完成时删除它们而不会打扰其他任何东西.