【发布时间】:2015-02-16 03:29:41
【问题描述】:
我想在 node.js 中创建一个临时文件/目录。为此,我正在尝试一个简单的算法:
- 根据 pid、时间和随机字符生成文件名
- 检查文件是否存在
- 如果是:返回步骤 1 并重复
- 如果不是:创建文件并返回
这就是问题所在:fs.exists 的 node.js 文档 明确 声明不应使用 fs.exists,而应该只使用 fs.open 并捕获潜在错误:
http://nodejs.org/docs/latest/api/fs.html#fs_fs_exists_path_callback
在我的情况下,如果文件存在,我对打开文件不感兴趣,我严格地试图找到一个 尚不存在 的文件名。有没有办法不使用fs.exists?或者,如果我使用fs.exists,我是否应该担心这种方法将来会被弃用?
【问题讨论】:
-
使用这样的文件名格式,我怀疑你会遇到文件名重复的问题。
-
我还建议您为文件的名称添加一个后缀,例如“_2”,而不是返回步骤 1
-
@micnic 好点,这将防止多次随机生成相同文件名的(小)机会。还值得稍微修改一下算法以限制最大尝试次数:) 为了这个问题,上述算法就足够了
标签: node.js file deprecated file-exists temp