【问题标题】:will NSFileSystemFileNumber in iOS always be unique?iOS 中的 NSFileSystemFileNumber 是否总是唯一的?
【发布时间】:2011-08-07 03:10:11
【问题描述】:

使用 attributesOfItemAtPath:error: 时,是否始终保证 NSFileSystemFileNumber 对于设备是唯一的?

例如,我有一个具有某个 NSFileSystemFileNumber 的文件,但几天后我删除了这个文件。如果我稍后创建另一个文件,这个新文件是否有可能重新使用另一个文件的 NSFileSystemFileNumber,或者 NSFileSystemFileNumber 总是是唯一的?

谢谢!

【问题讨论】:

    标签: iphone objective-c ios4 attributes nsfilemanager


    【解决方案1】:

    NSFileManager Class Reference

    NSFileSystemFileNumber

    a 中的键 文件属性字典的值 表示文件的文件系统文件 数字。对应的值为 NSNumber 对象包含一个无符号 长。该值对应于 st_ino 的值,由 统计(2)。

    man 2 stat
    

    ino_t st_ino; /* inode 的编号 */

    所以这是一个 inode 编号。我相信删除原始文件后,文件系统可以重用inode。

    【讨论】:

    • 谢谢,看起来 "u_long st_gen; /* file generation number */" 如果/当 inode 被重用时会增加,但这显然只对超级用户可用。无论如何,谢谢!
    【解决方案2】:

    NSFileSystemFileNumber 只是文件的 inode 号。它在文件存在时对文件是唯一的,但一旦文件消失,它可以随时重复使用。

    【讨论】:

    • 谢谢查克!看起来 hoha 打败了你。 :)
    猜你喜欢
    • 2017-09-11
    • 2013-07-28
    • 2012-02-01
    • 2019-10-03
    • 2012-12-16
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    相关资源
    最近更新 更多