c# – * FASTEST *目录列表

前端之家收集整理的这篇文章主要介绍了c# – * FASTEST *目录列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有大量的目录,我想尽快读取所有文件.我的意思是,快速没有DirectoryInfo.GetFiles,而是“从磁盘低级别获取集群”.

当然,.NET 2.0,c#

类似的问题在这里,但这种方法没有任何好处:

C# Directory listing massive directory

有人建议在FindFirst / FindNext上使用pInvoke.有人试过这个并且能够分享结果吗?

解决方法

对于“正常”方法,基本上一切都归结为FindFirstFile / FindNextFile,你实际上并没有比这更快……而且这不是超级涡轮增压.

如果你真的需要速度,请考虑手动阅读MFT – 但要知道这需要管理员权限,并且每当NTFS更新时都容易中断(并且,哦,是的,对于非NTFS文件系统不起作用).你可能想看看this codeUSN和MFT的东西.

但是,也许有一个不同的解决方案.如果您的应用程序不断运行并且需要接收更改,您可以通过执行一个缓慢的FindFirstFile / FindNextFile传递开始,然后使用目录更改通知支持来获知更新…这对于有限的用户是有效的,并且不会取决于文件系统结构.

猜你在找的C#相关文章