Я хочу перечислить файлы .rar
в папке и вложенных папках до тех пор, пока не останется никаких папок.Как рекурсивно перечислить все файлы .rar в каталоге
Это код, я в настоящее время использую:
private String getFileNums(File file) {
if (file.isDirectory()) {
File[] list = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File file, String s) {
return s.toLowerCase().endsWith(".rar");
}
});
int count = 0;
if (list != null) {
for (File f : list) {
if (f.isDirectory()) {
getFileNums(f);
} else {
count++;
}
}
}
return "Number of rar files in this folder and subfolders is " + count;
} else {
long length = file.length();
return "File size in bytes is " + length;);
}
}
У меня есть проблема с этим кодом является то, что он не перечисляет .rar
файлов в подпапках, это только список тех, кто в непосредственной папке.
Например сказать House
папка, которая содержит Bedroom
(папку), Kitchen
(папка), chair.rar
(RAR-файл) и door.rar
(файл RAR). Вышеуказанный код только chair.rar
и door.rar
, он не перечисляет файлы rar в Bedroom
и Kitchen
папках.
Пожалуйста, есть ли там, где это можно исправить?
Спасибо. Я не использую Java 8 из-за мгновенного запуска, поэтому я только попробовал первый ответ, но это не имело никакого значения. – X09
Спасибо человек. Он работает сейчас. – X09