Я пытаюсь получить длину (file size) каталога, и я сделал для этого следующий рекурсивный метод, только я получаю очень странные результаты, когда передаю новый файл ("C: \\ Users \\ UserName \\ Desktop")
в качестве параметра.
static long totalLength = 0;
// Method to get the size of a folder and its contents
private static long getFolderSize(File folder){
if(folder.isDirectory()){
File[] contents = folder.listFiles();
for(File current : contents){
if(current.isDirectory()){
totalLength = totalLength +getFolderSize(current);
}
totalLength = totalLength + current.length();
}
}
return totalLength;
}
Интересно, что некоторые папки на моем рабочем столе действительно возвращают ожидаемые результаты, когда я передаю их в метод. Я просто не могу понять, почему тоже: я провел некоторую отладку длины отдельного файлы, и ни один из них не кажется отрицательным, но я все равно получаю отрицательные результаты!
Мы будем благодарны за любые идеи! Заранее спасибо