如何解决使用出生时间作为唯一的文件标识符? 节点 fs.stat
我正在寻找一种使用 nodejs 识别文件的方法,即使文件名和/或文件路径已更改,该方法也能正常工作。我希望有一个跨平台的解决方案(或者至少是 Mac 和 Windows;Linux 会很好)。
我首先希望 ino
(即 inode
,与 fs.stat(file)
一起返回)可以用作唯一的文件标识符。 (关于 here 和 here 的讨论)。但看起来 inode 在 Windows 上不可靠(状态不清楚,以 64 位呈现),即使在 Mac 上,我也看到在保存对文件的更改时文件的 inode 可能会更改。
所以我需要一些文件独有的东西,它不会改变。
从 fs.stat 返回的 birthtime
(或 birthtimeMs
)怎么样?
这是创建文件的时间,精确到毫秒。它在 Mac 上似乎没有变化,(也许?)在 Windows or Linux 上似乎也没有变化。 (似乎 Mac、Windows 和更新的 Linux 支持 birthtimeMs。)
并且出生时间对于每个文件都是唯一的,只要用户一次只能创建一个文件(文件创建时间之间的差异至少超过 1 毫秒)。
那么,是否可以将出生时间用作 Mac 和 Windows(也许还有 Linux)上的唯一文件标识符?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。