В моем приложении для Android мне нужно найти, существует ли файл определенного формата в каталоге. Я написал код, и он работает хорошо, но если в каталоге слишком много каталогов, каждый из которых имеет много файлов и каталогов, он становится немного медленным.Самый эффективный способ найти файлы в определенном формате, которые существуют в каталоге
Примечание: Я также вычисления общих файлов .txt в в каталоге
Это мой код
int count = 0;
private boolean containsTXT(File file) {
boolean result = false;
String fList[] = file.list();
if (fList == null)
return false;
else {
for (int i = 0; i < fList.length; i++) {
File file = new File(file, fList[i]);
if (file.isFile() && (file.getName().endsWith("txt"))) {
result = true;
count++; // This counts total txt files in the dir
} else if (file.isDirectory()) {
result = containsTXT(file);
}
}
}
return result;
}
я в основном следующие наиболее общий подход, но есть приложения, которые делают ту же работу что я пытаюсь сделать в своем приложении и быстрее. Кто-нибудь знает лучший подход или алгоритм для этой задачи? Благодаря !!
Не используйте рекурсию. –
Сделать это итеративным, а не рекурсивным, это хорошее начало, я бы сказал, –
Нужно ли сканировать все или остановить его, когда он найдет первый файл txt? Похоже, вы можете изменить 'result = true' на' return true'. –