Я пытаюсь получить длину (размер файла) каталога, и я сделал следующий рекурсивный метод для этого, только я получаю некоторые очень странные результаты, когда я передаю new File("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;
}
Интересно, что некоторые папки на моем рабочем столе возвращают ожидаемые результаты, когда я передаю их в метод. Я просто не могу понять, почему либо: я выполнил некоторую отладку длины отдельных файлов, и ни один из них не оказался отрицательным, но я все еще иногда получаю отрицательные результаты!
Любые идеи будут оценены! Заранее спасибо