请问NSFileManager方法contentsEqualAtPath:andPath:创造一个充满活力的校验和来比较两个文件,它打开的文件头和比较文件头的细节或是否使用其他一些方法来比较?

我有200000页左右的文件的列表进行比较,其中所述本地文件是与远程服务器卷上的文件进行比较。本地文件会从远程服务器的体积在过去的某个时间被复制,我将走文件的列表比较每个然后复制过任何新文件从远程服务器卷到本地机器(覆盖任何现有)。谁也不能保证远程服务器文件由本地用户创建(更可能他们不会有)。

作为文件很小(约4K大小)几乎只要一个复杂的文件比较操作可能需要作为复制操作。

此操作可能(但可以想象不太可能)发生多次在用户会话中,所以我需要确保我使用的最有效的方法来检查。

本身将在一个单独的线程中运行的操作,所以我不必占用用户在操作完成的问题。

我已经开始测试这个执行,而且很有兴趣看看别人有过迅速,以确定哪些文件需要更新是否有一个更新存在比较数千个文件的任何经验。如果你有,你有任何指针或陷阱,以避免?

任何意见十分赞赏。

<强>更新

这个思维多一些,可能更利于保持一个文件,它的轨道改变任何图像的最后更新时间戳记,并保持一个本地文件,做同样的,只是比较这两个文件...将更新更多的我进步。

有帮助吗?

解决方案

在我看来,对于目录只有文件名(和子目录的文件名)进行比较。它只比较文件内容如果明确地传递文件路径的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top