gpt4 book ai didi

Java7/Path/File/获取唯一ID,如文件的inode

转载 作者:行者123 更新时间:2023-11-29 06:07:00 24 4
gpt4 key购买 nike

如何从 PathFile 实例获取唯一 ID,该实例在“非 Linux/Unix”文件系统中必须具有 Inode 或其他唯一 ID?在 API 中找不到任何内容,我必须使用 JNI 吗?

编辑:我有两个原因:

  • 我想要从文件系统中的文件到数据库系统中基于树的表示的唯一映射。
  • 我想检测文件的重命名,这会在通过 WatchService 观看 Path 时导致删除事件和新插入事件(至少对于 Linux/Unix文件系统)。因此,我无法使用 Path 来检测此类重命名。

顺便说一句:起初我认为 WatchService 会在重命名的情况下触发 java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY 事件,但我认为这取决于文件系统和/或者仅在文件内容本身更改时发生。

所以我想我真的必须使用 JNI 绑定(bind)来检测重命名和可能的移动?

编辑:我想我终于找到了如何获得唯一的文件表示:http://download.oracle.com/javase/7/docs/api/java/nio/file/attribute/BasicFileAttributes.html#fileKey ()

最佳答案

如果您只需要一个唯一的 ID,您可以对文件路径进行哈希处理(使用 sha1),它会给您一个唯一的文本 ID

如果您想要与文件相关联的真实 ID,您将需要使用 JNI 并为每个操作系统拥有一个自定义库。

关于Java7/Path/File/获取唯一ID,如文件的inode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8214576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com