Sja*_*ien 5 compare file objective-c
我的文件系统(iPhone)中有两个xml文件(a.xml和b.xml).现在我想知道这些文件是否包含完全相同的数据.大多数情况下,这种比较都是正确的,因为b.xml是copyItemAtPath:操作的结果.除非它被更新的信息覆盖.比较这些文件最有效的方法是什么?
任何建议都是非常受欢迎的.
谢谢你
Sjakelien
更新:
我最终这样做了:
oldData = [NSData dataWithContentsOfFile:PathToAXML];
newData = [NSData dataWithContentsOfFile:PathToBXML];
Run Code Online (Sandbox Code Playgroud)
然后将其与:
[newData isEqualToData:oldData];
Run Code Online (Sandbox Code Playgroud)
问题仍然是:效率高于:
oldData = [NSString dataWithContentsOfFile:PathToAXML];
newData = [NSString dataWithContentsOfFile:PathToBXML];
[newData isEqualToString:oldData];
Run Code Online (Sandbox Code Playgroud)
小智 5
你也可以使用:
NSFileManager *filemgr = [NSFileManager defaultManager];
if ([filemgr contentsEqualAtPath:PathToAXML andPath:PathToBXML])
NSLog (@"File contents match");
else
NSLog (@"File contents do not match");
Run Code Online (Sandbox Code Playgroud)
比较文件内容的一种替代方法是跟踪文件修改日期 - 如果它晚于您创建副本的日期,您可能会认为它已被更新。
请参阅类中的fileAttributesAtPath:traverseLink:NSFileManager。