Это мой первый пост, поэтому, пожалуйста, дайте мне знать, если я делаю что-то не так
Также это домашнее задание.
Пользователь выбирает каталог / папку, и моя программа рекурсивно показывает все файлы и подкаталоги в выбранном каталоге. Программа также покажет размеры всех файлов и подкаталогов.
Я все сделал. Программа работает как положено. Тем не менее, я использовал метод FileUtils из apache.commons.io, чтобы получить размер каталога, но, видимо, мне не разрешено это делать.
Я не могу использовать apache.commons.io.
Я не могу использовать пакет Java nio.
Я не могу создать другой метод (отдельный метод), который вычисляет размер каталога. Это то, что делает это трудным.
У меня уже есть рекурсия, которая получает имена всех файлов и подкаталогов. Я думаю добавить что-то в этот алгоритм рекурсии, который даст мне сумму всех файлов в каждом каталоге, но я просто не могу понять, как это сделать.
У кого-нибудь есть идеи, которые могут помочь?
private void recurseDirectory(File f) {
if (f.isFile()) {
show f.getAbsPath() and f.length() on GUI }
else if (f.isDirectory()) {
show f.getAbsPath() and FileUtils.sizeOfDirectory(f) on GUI }
File[] files = f.listFiles();
for (File file : files) {
recurseDirectory(file); }
}
Таким образом, вместо FileUtils.sizeOfDirectory(f)
, в этой части кода я хотел бы начать добавлять сумму всех файлов в этом дереве каталогов и затем возвращать это.