Способ проверки файлов + дерева папок, если они существуют - PullRequest
0 голосов
/ 03 июля 2011

мое приложение для Android загружает ~ 50 МБ данных - 2500 файлов.Я хочу проверить, отсутствует ли файл.Идея состоит в том, чтобы создать список со всеми путями файлов, а затем проверить каждый файл, если (File.exists ()) ..

Но это приведет к 2500 разам, чтобы проверить, существует ли он ...
Есть ли лучший способ, чтобы это?Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 июля 2011

Даже если вы хотите снизить производительность, проверив наличие всех ожидаемых файлов, нет гарантии, что их содержимое находится в хорошем состоянии. Например, все файлы могут быть пустыми.

Лучшим решением было бы сжать файлы в архив на сервере, а затем вычислить хэш-дайджест для файла архива. См. MessageDigest JavaDoc для получения информации о том, как сделать это в Java.

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

0 голосов
/ 03 июля 2011

Вы можете перечислить все файлы, используя

File[] files = mFolder.listFiles();

и

int totalFiles = files.length;

если размер не соответствует ожидаемому, вам придется перебирать их все, в противном случае продолжить работу с приложением.

...