问题标签 [fs]

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 投票
1 回答
2842 浏览

node.js - 如果文件已打开/正在写入,如何检查 Node.js?

我找到了很多 C++、C# 等的答案,但还没有找到 Node.js 的答案。这是我的情况。

我创建了一个模块,用于监视我的 FTP 服务器中的文件/目录更改(新的或更新的,不关心已删除的文件)。一旦我注意到一个新文件或现有文件发生更改,我就会收到通知并通知我的模块 B 将此文件同步到 Sourceforge.net。该模块工作正常,可立即对更改做出反应。

但我还不满意的是,当添加新文件时,该文件会根据文件大小多次接收“修改”事件:大小越大,它将接收的“修改”事件越多。这是因为在上传文件时,操作系统会定期将上传的缓冲区刷新到文件系统,从而导致多个“修改”fs.watch事件。

问题

如何检查文件是否仍然打开,以便我知道“修改”事件实际上是因为剩余数据被刷新,而不是因为文件已被多次更改,所以我可以忽略它?”

一旦文件关闭或写入停止,我就可以通知我的模块 B 同步到 SF.net。

我会很感激任何想法。谢谢。

0 投票
0 回答
222 浏览

node.js - fs.exists 不接受变量

我正在使用发布请求来搜索二进制文件,但无法使以下代码正常工作。fs.exists() 不会接受变量 b_path 但如果给定硬编码字符串,它将正常工作。b_path 按预期打印到控制台,正确构建二进制文件的路径。

为什么会出现这种情况?

0 投票
2 回答
2479 浏览

node.js - 如何在 node.js 中复制文件(包括修改时间)?

我可以使用以下命令复制 node.js 中的文件:

问题是如何像在常规文件复制命令中一样复制/保留修改的时间(mtime)。

0 投票
26 回答
244969 浏览

javascript - 在 Node.js 中递归复制文件夹

有没有一种更简单的方法来复制文件夹及其所有内容,而无需手动执行一系列fs.readir, fs.readfile,fs.writefile递归?

我只是想知道我是否缺少一个理想情况下可以像这样工作的功能:

0 投票
2 回答
1668 浏览

node.js - 并行异步读取文件

我的 node.js 应用程序需要几个文件。我知道建议异步读取文件,所以,显然我必须这样做:

但是,在这种情况下,文件将被顺序读取。

有没有办法并行读取许多文件,并且仍然确保应用程序在所有文件都加载后启动?

0 投票
4 回答
13696 浏览

node.js - 使用 node.js 保存存储在 s3 上的图像?

我正在尝试编写一个使用 node.js 将图像存储在 s3 上的图像服务器。上传图像工作正常,我可以使用 s3 浏览器客户端正确下载和查看它(我使用的是 Dragondisk,具体来说,但我也已经成功下载了它与其他的),但是当我使用节点下载它并尝试要将其写入磁盘,我无法打开文件(它说它可能已损坏或使用预览无法识别的文件格式)。我正在使用 amazon sdk for node 和 fs 来编写文件。我知道您可以将可选编码传递给 fs.writeFile,但我已经尝试了所有方法,但它不起作用。我还尝试在 putObject 上设置 ContentType,在 getObject 上设置 ResponseContentType,以及 ContentEncoding 和 ResponseContentEncoding(以及所有这些东西的各种组合)。结果相同。这里'

顺便说一句,我使用 express 进行路由,所以这就是 req.params 的来源。

0 投票
1 回答
200 浏览

node.js - Express 会话和 fs 模块的问题

总是在执行 fs.mkdir 时,我会丢失所有当前的 Express 会话,有没有办法执行 fs.mkdir 并保留所有 Express 会话?

0 投票
1 回答
155 浏览

node.js - 为某些需要切换 node-dev

有没有办法使用 node-dev 或类似的方法来为某些文件切换重启 nodejs?

我已经看过了,似乎 require.extensions 是一个包含要重新启动的扩展名的对象,尽管删除它似乎没有任何作用。

我想要的是能够像往常一样使用node-dev,但是不需要重新启动某些文件,所以我可以手动观看它们并重新加载它们而无需重新启动所有内容。

0 投票
0 回答
261 浏览

performance - 无论如何,一次调用即可获取 node.js 中的文件/目录列表

在 node.js (fs) 中,我们可以使用 获取所有文件+目录的列表fs.readdir(),现在为了将文件/目录分开,我们需要stat = fs.stat()在结果调用stat.isDirectory()stat.isFile()每个返回值(路径)上调用。

有没有更好的(性能方面)方法来做到这一点?

0 投票
6 回答
15128 浏览

file - Node.js:如何在不上传文件列表的情况下检查文件夹是否为空

我正在使用Node.js.

我想检查文件夹是否为空?一种选择是使用fs.readdir,但它将整个文件加载到一个数组中。我的文件夹中有超过 10000 个文件。加载文件名只是为了检查文件夹是否为空。所以寻找替代解决方案。