我的目标是检查网络上的文件夹中是否找到具有特定(名称的一部分)的文件,同时考虑到其下面的所有文件夹。为此,我需要一种方法来有效获取给定文件夹中及其下的所有文件和文件夹的列表。我的递归函数在本地驱动器上每秒执行约 2500 个项目,但在网络驱动器上每秒仅执行几个项目。我需要更快的东西。
\n\n核心问题是:获取文件夹中的项目列表(包括属性 isDirectory 或类似属性)的最快方法是什么?
\n\n我寄希望于java.nio的walkFileTree功能,但我无法使用它。(版本:8.4.0.150421 (R2014b),采用 Java 1.7.0_11-b21,采用 Oracle Corporation Java HotSpot\xe2\x84\xa2 64 位服务器 VM 混合模式)
\n\n当前问题:我无法使用 java.nio 的任何功能
\n\njava.io 可以工作,例如创建一个文件对象:
\n\njFile = java.io.File('C:\\') \n% then use jFile.list or jFile.isDirectory or jFile.toPath, it all works!\nRun Code Online (Sandbox Code Playgroud)\n\n天真地调用 nio 失败:
\n\njava.nio.file.Files('C:\\') \n% -> No constructor 'java.nio.file.Files' with matching signature found.\nRun Code Online (Sandbox Code Playgroud)\n\n我意识到 java.nio.file 的工作方式有点不同,要使用 Files 中的方法,需要一个路径,可以使用 java.nio.file.Path.get 构造该路径。这东西吃一根绳子。但这也失败了:
\n\njava.nio.file.Paths.get('C:\\') % -> No method 'get' with matching signature found for class 'java.nio.file.Paths'.\n …Run Code Online (Sandbox Code Playgroud)