代码之家  ›  专栏  ›  技术社区  ›  Daniel MoÅ¡mondor

*最快*目录列表

  •  6
  • Daniel MoÅ¡mondor  · 技术社区  · 14 年前

    我有大量的目录,我想尽快阅读所有的文件。我是说,不是目录信息.GetFiles很快,但是“从磁盘低级别获取群集”很快。

    当然,.NET2.0,c#

    C# Directory listing massive directory

    有人建议在FindFirst/FindNext上使用pInvoke。有人试过,能分享结果吗?

    3 回复  |  直到 7 年前
        1
  •  5
  •   snemarch    14 年前

    对于“正常”的方法,基本上一切都归结为 FindFirstFile / FindNextFile

    如果你 真正地 需要速度的话,看一下 MFT this code 哪个有 USN

    然而,也许有一个不同的解决方案。如果你的应用程序一直在运行,并且需要进行修改,那么你可以从慢一点开始 查找第一个文件 查找下一个文件

        2
  •  3
  •   nick.lowe    13 年前

    为了获得最佳性能,可以P/Invoke NtQueryDirectoryFile,记录为ZwQueryDirectoryFile。

    (即直接访问磁盘和直接读取原始文件系统结构,这通常是不实际的。)

        3
  •  0
  •   Eugene Cheverda    14 年前

    尝试使用类似 this DirectoryManager GetDirectories() GetFiles() 因为我们有跨平台的检查和调整。