Я пытаюсь получить размер папки на Android. Проблемы:
- Каждый раз, когда функция возвращает что-то другое.
- Он не сканирует все файлы.
Может кто-нибудь сказать мне, почему?
private long dirSize(File dir) {
long result = 0;
File[] fileList = dir.listFiles();
for(int i = 0; i < fileList.length; i++) {
// Recursive call if it's a directory
if(fileList[i].isDirectory()) {
result += dirSize(fileList [i]);
} else {
// Sum the file size in bytes
result += fileList[i].length();
}
}
return result/1024/1024; // return the file size
}
Я получил эту функцию из другого потока. Как я могу улучшить этот код?