【发布时间】:2014-10-22 13:09:16
【问题描述】:
开发环境:Android中的移动应用
我正在寻找一种方法来唯一标识 FAT32/VFAT 文件系统(没有 inode)中的文件。 我考虑过散列(SHA1?)完整路径。这个解决方案的问题是它不支持移动/重命名。
有没有更好的东西,即使在移动/重命名文件时也能保持?
谢谢
【问题讨论】:
-
散列文件名不会是唯一的 - 你可能有多个
README.TXT... 同样,如果两个文件具有相同的内容,散列文件的内容可能会遇到冲突(但我不确定你需要多么“独特”——也许这是可以接受的),但移动/重命名文件会很好。您可以使用文件的起始块编号,但如果文件被移动/复制,则会更改 ID。这将是您可以获得的最接近 i-node 编号(在移动/重命名时也会更改)。 -
@twalberg 我的意思是散列完整路径文件名,而不仅仅是文件名本身。 “起始块编号”是什么意思?是否保证同一个块中不能有2个文件?如何在 C/C++ 或 POSIX 中获取这些信息?
标签: file filesystems uniqueidentifier fat32 fat