Вопрос

Делает NSFileManager метод contentsEqualAtPath:andPath: Создайте динамическую контрольную сумму, чтобы сравнить два файла, открывает ли он заголовок файла и сравнивает детали заголовка файла или используют некоторые другие метод сравнения?

У меня есть список 200 000 или около того файлов для сравнения, где следует сравнивать локальные файлы с файлами на громкость удаленного сервера. Локальные файлы были бы скопированы с громкости удаленного сервера в какой-то момент в прошлом, и я буду проходить список файлов, чтобы сравнить каждый, а затем копировать все новые файлы с громкости удаленного сервера на локальный компьютер (перезаписи любой существующий). Нет никакой гарантии, что файлы удаленного сервера были созданы локальным пользователем (и более чем вероятно, что они не были бы).

Поскольку файлы невелики (прибл. 4К по размеру) Операция сложных файлов может занять почти до тех пор, пока операция копирования.

Эта операция может быть (возможна, но вполне вероятно) происходит несколько раз в сеансе пользователя, поэтому мне необходимо убедиться, что я использую наиболее эффективный метод проверки.

Сама операция будет работать на отдельной резьбе, поэтому у меня нет проблем, связывающих пользователя, пока операция завершается.

Я начал реализацию, чтобы проверить это, но было заинтересовано посмотреть, был ли у кого-то еще есть опыт, сравнивающий тысячи файлов, чтобы определить, какие файлы нуждаются в обновлении, если существует новее. И если у вас есть, у вас есть какие-либо указатели или ловушки, чтобы избежать?

Любой совет очень ценится.

Обновлять

Подумав об этом еще, это может быть более выгодно сохранить файл, который отслеживает последний обновленный Timestamp любых измененных изображений и хранить локальный файл, который делает то же самое и просто сравнивайте эти два документа ... будет обновляться больше, как я прогрессирую.

Это было полезно?

Решение

Это касается мне, что для каталогов только имена файлов (и имена файлов подкаталогов) сравниваются. Он только сравнивает содержимое файла, если вы явно пропустите пути к файлу к способу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top