问题标签 [filewalker]

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 回答
1487 浏览

java - 如何遍历大目录的目录树并忽略文件

我需要遍历网络驱动器上的目录并在层次结构中创建子到父的映射。一个代表目录是 6 Terrabytes,有 900,000 个文件和 900 个文件夹。我只关心文件夹而不关心文件。出于测试目的,我将没有文件的文件夹复制到另一个网络驱动器并在复制的版本上运行我的代码。仅遍历 900 个文件夹可能需要 10 秒。然而,迭代原始目录结构需要 30 分钟。看起来我们正在遍历所有 900,000 个文件,即使我们只是忽略它们。

有没有办法通过甚至不查看文件来加快速度?如果可以的话,我宁愿坚持使用纯 Java。通过 Windows 资源管理器浏览这个巨大的目录时,一点也​​不觉得慢。我的代码如下。

编辑:

我没有提到的一个重要难题是我们正在 webstart 中运行该应用程序。我报告的时间来自生产,而不是开发。从 Eclipse 运行,时间比我对 FileWalker 的期望更高。

0 投票
0 回答
156 浏览

scala - JavaFX Scala File-TreeView:读出 2 个级别

我想用 JavaFx 制作的 GUI 在 scala 中实现文件浏览器。因此我使用 TreeView 来表示树。

每当我单击一个项目(性能原因)时,此代码仅从树中读取一个级别,但树视图不显示缩进并且非空文件夹处的箭头丢失。

如果我读出 2 个级别(以检查文件夹是否为空),它只显示没有目录的文件。

你们中的任何人都知道这是如何工作的吗?

提前致谢!

这是我当前树视图的屏幕截图! 截屏

它应该看起来像这个屏幕 截图 Screenshot2

0 投票
0 回答
295 浏览

node.js - 使用 node 和 gm 调整数百个 JPG 的大小

我有一个包含大约 100 个子文件夹的图像文件夹,每个文件夹大约有 5 个 JPG。

我正在尝试使用节点遍历所有图像并调整它们的大小,因此最小尺寸为 1200。它们是纵向和横向的混合,最小尺寸(w 或 h)应该是 1200 缩放另一个尺寸以保持纵横比。

我正在学习节点,所以不太了解平台,但对 JS UI 端非常有信心。

我发现了一个 npm walker 模块,npm gm 模块,它适用于单个 JPG,所以我认为这很容易,但我在循环 500 多张图像时遇到问题,然后 gm() 代码决定做这件事循环完成后,但事情正在崩溃。

这是我的代码...

https://runkit.com/nmiddleweek/58d40b478c992a00146502ba

(我应该内联代码吗?)

这是控制台错误...

这在大约 450 次迭代后被抛出......

取消注释第 66 行...

如果我取消注释第 66 行并强制将正在处理的文件减少到 20,我会得到不同的输出,并且 gm 模块正在与其他 console.logs 一起调用。见下文...

所以,这里 gm 模块正在执行,我可以检查磁盘上的一些 JPG 是否已调整大小并保持纵横比 - 太棒了!

奇怪的是,日志中出现的顺序是……为什么 Node 会像这样批量执行代码?

这是同步/异步问题吗?以及如何将其更改为...

一个)。请允许我处理数百张图像 b)。处理图像以至少解决此问题,使其正常工作:-)

提前感谢您的任何帮助和想法。

干杯,尼克

0 投票
1 回答
191 浏览

node.js - 使用 npm filewalker 对每个文件进行异步操作

我正在使用Filewalker遍历一个目录。但是,对于每个文件,我想执行一个异步操作。如何确保done仅在所有操作完成后才触发?

0 投票
1 回答
35 浏览

javascript - 在使用 filewalker 时,在达到 `on('exit')` 事件之前手动退出流

我正在使用filewalkernpm 包浏览文件。

一旦满足特定条件,我试图通过退出流来限制将在流中读取的文件数量。(例如流式传输 5 个文件路径)而不是等待exit事件。(这是由于大量文件,我想分页流)

有没有办法手动取消/退出流?

0 投票
1 回答
47 浏览

java - FileVisitor 替换现有文件

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

我在用

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

0 投票
1 回答
48 浏览

javascript - 将对象内部的对象加载到html表中

所以我试图在node.js和socket.io中创建一个文件管理器,所以每次walker模块检测到一个文件或文件夹时,它都会向客户端发出一个事件,使用这个大函数将它放入表中

但是如果我有很多文件,它会崩溃浏览器通过websockets单独发送所有这些数据是不好的我猜:(所以现在我在服务器端构造一个这样的对象

然后我将它发送到客户端页面,但我的问题是我不知道如何将它放在我的表中,这不像 foreach 的东西,我认为我没有尝试在没有 su 的情况下使用它

任何指针?

0 投票
1 回答
158 浏览

typescript - ts / js 中是否有使用异步迭代器的目录遍历器?

我在 npm 上发现了很多 walker,但没有一个使用异步迭代器。他们中的大多数要么使用回调,要么使用导致巨大目录内存泄漏的承诺。

是否有任何最近使用以下模式的库:

然后像这样使用它:

0 投票
0 回答
120 浏览

kotlin - 如何在 Kotlin 中使用 _Assertions 对象?

我正在尝试File('/path').walk()为 Android 的存储访问框架重新创建一个文件遍历器(如 )。这是原文的一个片段FileTreeWalk

似乎_Assertions只在其模块(internal可见性)内可见,这似乎是stdlib:

有什么方法可以检查_Assertions.ENABLED我的助行器吗?

0 投票
0 回答
51 浏览

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

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

这是 FileVisitor 类的典型实现

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

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

FileVisitor 类可以做到这一点吗?