问题标签 [filevisitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1460 浏览

java - 使用 Java 的文件树系统只获取文件和文件夹而不是子目录

所以我必须使用 Java 文件树系统,因为 .listfiles 文件由于某种原因在通过远程网络时速度非常慢。然而,所有 Java 文件树系统示例都列出了子目录中的所有文件,从而严重降低了程序速度。我怎样才能使它只搜索目录并只返回该目录而不是子目录中的文件夹和文件的名称。

示例代码:

任何见解或帮助将不胜感激,谢谢。

0 投票
0 回答
180 浏览

java - 来自 Filevisitor 的 walkfiletree 方法的 javafx 更新消息

我正在使用 java 7 Files.walkFileTree 方法遍历整个磁盘。我正在尝试从我的自定义 FileVisitor 的 visitFile() 方法更新我创建的 UI 类中的 javafx 标签和进度条。在 javafx UI 类中,我创建任务并启动它。我做了一些研究,有人建议我实现 FileVisitor 并扩展任务,以便我可以从 visitFile() updateMessage() 但我试过了,但它不起作用。Javafx UI 类:

FileSystemTraverse 类:

所以我的问题是 - 真的有办法做到这一点吗?我在这里的某个地方读到了关于使用 swing (他们使用发布)执行此操作,但使用 javafx 它似乎不起作用。

先感谢您。

0 投票
1 回答
1291 浏览

java - 使用 Java NIO.2 FileVisitor 和 Files.walkFileTree(...) 递归移动非空目录

我看到了很多关于如何使用 Java NIO.2 递归地复制或删除文件的示例。例如,这是复制文件夹及其所有内容的方法:

但是如何移动包含文件的文件夹?有一个方法Files.move(Path source, Path target, CopyOption... options) throws IOException。谁能举一个真实有效的例子?

我认为解决方案可能是使用Files.copy(...)in preVisitDirectory(...),然后Files.delete(...)in postVisitDirectory(...),类似的东西..

0 投票
1 回答
1154 浏览

java - Java FileVisitor 访问一个目录中的命令

我正在尝试使用 Java 的FileVisitor接口遍历文件列表并将内容导入数据库。场景是按顺序导入csv内容。可能有一个名为 Object.csv、Object_updated.csv、Object_deleted.csv 的文件,我需要将这些内容合并到一个数据库中。文件夹层次结构将包含:

这是我提出的基本解析:

这返回的文件列表是:

如果有两个文件 objectname_updated.csv 和 objectname_deleted.csv,则应该先遍历 objectname_updated.csv 而不是 objectname_deleted.csv。这个特定的实例正在工作,但文档说文件列表不能保证是有序的。有没有办法根据文件名获得排序,还是我必须存储预先排序的文件列表?

0 投票
0 回答
58 浏览

java - 没有startingDir的Java PathMatcher和SimpleFileVisitor

在这个例子中http://docs.oracle.com/javase/tutorial/essential/io/find.html

我们有一个 SimpleFileVisitor 实现,它使用 PathMatcher 接受(或不接受)访问过的文件。

我希望用户能够使用 glob 模式在任何地方指定任何文件,所以我没有比“/”更好的startingDir。

例子:

有没有一种优雅的方法来获取这些属性文件,而无需访问整个 /home/bianca 主文件夹中的每个文件?

其他示例:

在这里,更智能的实现可以让我们免于访问/aaa/bbb/hhh之类的路径,因为其中的任何文件都不会匹配。

0 投票
1 回答
47 浏览

java - FileVisitor 替换现有文件

我需要将文件从一个目录替换到另一个目录。我在网上搜索过,我找到了替换文件的有效解决方案。我正在使用 Files.walkFileTree 来遍历目录并替换文件。在替换文件之前,我正在检查目标目录中是否存在文件。如果文件存在,我需要用相同的文件名替换新文件。但在我的情况下,我的源目录中的文件名是相同的,只有文件格式会不同。

我在用

上述代码仅在文件名和格式相同的情况下将文件替换到目标目录。否则它不是删除旧文件,而是将新文件和旧文件放在目标目录中。

0 投票
0 回答
170 浏览

java - 在 Java 中,如何使用 FileVisitor 创建结构化树

给定一个起始路径,我想创建一个树状对象,表示使用 Java 的文件系统,显示所有文件夹到 x 级,但不是普通文件。. 所以使用FileVisitor我知道每次在我要浏览一个新的子文件夹之前都会调用preVisitDirectory()方法,一旦它完成了对所有子文件夹的解析,就会调用postVisitDirectory(),但我的问题是知道如何将此目录附加到其父目录。

即在我的情况下,我想使用 ul/li/ul/li 元素为 jstree 创建数据,并且我使用j2html lib 执行此操作。因此,使用 ul() 创建根目录,然后当我进入 preVisitDirectory() 时,我将创建一个 li() 元素,并且在 postVisitDirectory() 中希望使用 ul().with(li) 附加到 ul() 但我看不到如何跟踪我在构建树的位置。

例如静态硬编码示例实际上不浏览树

我看到 Guava 支持 Graphs,我应该以某种方式使用它吗?

0 投票
0 回答
63 浏览

java - 为什么 Files.walkFileTree 不报告无法访问已安装的驱动器

我的 Java 代码遍历计算机的根目录以创建文件夹树(用作 Web 应用程序的 json)

日志输出

我注意到虽然它只遍历 1 的深度,但它开始花费相当长的时间,我意识到问题是 Y:\ 被映射到实际上与网络断开连接的远程 NAS,并且需要 20 秒才能意识到这一点。

1> 我可以做些什么来确定 Y:\ 不能更快地访问。

2> 为什么 Files.walkFileTree() 实际上没有抛出异常,它显然不会,因为如果它这样做 Z:\ 将不会得到处理,也不会记录任何问题。

0 投票
0 回答
51 浏览

java - 可以告诉 Java FileVisitor 跳过文件并只返回文件夹路径吗?

我喜欢 FileVisitor 界面,因为它能够忽略走路径时遇到的任何错误。但是,我需要使用它来仅返回正在走的路径中的文件夹的路径。我不希望它接触或以任何方式提供有关每个文件夹中文件的任何信息,我只想要它接触的每个文件夹的完整路径。

这是 FileVisitor 类的典型实现

我将如何实现对此类的指令以仅返回它遍历的每个文件夹的路径,而不是文件,同时保持忽略不可访问文件夹或权限错误等可能遇到的任何错误的能力?

我正在寻找的输出示例最终将是一个像这样的列表,只有列表中的每个项目都是文件夹路径,而不是文件(我意识到在这个例子中我有斜杠,但是这只是表明它是我想要的文件夹):

FileVisitor 类可以做到这一点吗?

0 投票
0 回答
16 浏览

java - 尽管 SKIP_SUBTREE,SimpleFileVisitor 仍挂在网络驱动器目录上

我有一个非常慢的网络驱动器的问题,SimpleFileVisitor并且应该跳过它但也挂起。我想问题是读取文件属性。是否有一种内置方法可以只查看路径并忽略其他任何内容以尽可能快?

创建的日志:

仅列出目录很快,但查看它很慢。所以访问者也可能很快,恕我直言。