我正在编写一个实用程序,它在Mac OS X(10.6及更高版本)上遍历目录树,并尝试检测自目录上次与备份位置同步以来发生的更改。是否有任何函数来检索与inode相关联的路径?
当我最初同步的文件和文件夹,我获得的inode编号,并将其存储在该文件或文件夹的数据库记录:
NSString *oldFilePath = /* ... */;
NSError *error = nil;
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:oldFilePath error:&error];
/* set database record for oldFilePath to [attributes fileSystemFileNumber] */
当我遇到一个新的文件或文件夹我首先做一个数据库使用inode编号查找原始文件(如果有的话)。
但在文件已经从父目录移动到子目录,并且我正在尝试检测父目录的更改时,我希望能够使用保存的inode编号来标识新的路径,以便我可以区分移动和删除。
此解决方案是否适合您? – 2018-02-20 17:03:06
@ParagBafna我不再在那个产品上工作,但接受的答案解决了我的问题。 – 2018-02-23 15:16:42