【发布时间】:2019-02-15 13:48:28
【问题描述】:
它是关于在文件导入工具之外运行的进度条。因为我需要知道我们必须导入多少文件,所以我需要以某种方式计算它们。通常我会这样做:
return new DirectoryInfo(myBaseDirectory).GetFiles("*", SearchOption.AllDirectories).Length;
这对我不起作用,因为我必须处理 TooLongPathException。并且在计算它们时,编译器会尝试访问导致异常的特定对象。在文件导入过程中,它已经被处理了。我可以忽略特定的文件。
因为我只需要计算文件而不需要对它们做任何事情,所以我正在寻找另一种解决方案来计算子文件夹中的一些文件。由于我使用的是 .net3.5,因此无法使用 Directory.EnumerateFiles 方法。
【问题讨论】:
-
您可以调用一些 API 方法可能会有所帮助,它们是
FindFirstFile和FindNextFile,但我也从未将它们用于迭代目录。您可以查看有关这些方法的帮助here。长限制的路径是 Windows 的东西,所以我不知道它是否会绕过错误。但我可能会帮你找到另一个解决方案。