Dan*_*dor 6 c# directory file-io
我有大量的目录,我想尽快读取所有文件.我的意思是,快速没有DirectoryInfo.GetFiles,而是"从磁盘低级别获取集群".
当然,.NET 2.0,c#
类似的问题在这里,但这种方法没有任何好处:
有人建议在FindFirst/FindNext上使用pInvoke.有人试过这个并且能够分享结果吗?
对于一个"正常"的方法,基本上一切都归结为FindFirstFile/ FindNextFile,你真的没有比这快得多......而且这不是超级涡轮增压.
如果你真的需要速度,请考虑手动阅读MFT - 但要知道这需要管理员权限,并且每当NTFS更新时都容易中断(并且,哦,是的,对于非NTFS文件系统不起作用).你可能想看看这个有USN和MFT东西的代码.
但是,也许有一个不同的解决方案.如果您的应用程序不断运行并且需要接收更改,您可以通过执行一个慢速FindFirstFile/ FindNextFile通过开始,然后使用目录更改通知支持来获知更新...这适用于有限的用户,并且不依赖于在文件系统结构上.