Я решительно не понимаю почему решение не принимает. Я испробовал кучу вариантов но дальше первого пункта проверку не проходит.
package com.javarush.task.task31.task3113;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
/*
Что внутри папки?
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
Path path = Paths.get(r.readLine());
r.close();
if (!path.toFile().isDirectory()) {
System.out.println(path.toAbsolutePath() + " - не папка");
return;
}
SimplePatchInfo patchInfo = new SimplePatchInfo(path);
Files.walkFileTree(path, patchInfo);
System.out.println("Всего папок - " + patchInfo.getDirs());
System.out.println("Всего файлов - " + patchInfo.getFiles());
System.out.println("Общий размер - " + patchInfo.getBytes());
}
public static class SimplePatchInfo extends SimpleFileVisitor<Path> {
private int dirs = -1;
private int files = 0;
private long bytes = 0;
private Path path;
public SimplePatchInfo(Path path) {
this.path = path;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
dirs++;
return super.postVisitDirectory(dir, exc);
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
bytes += attrs.size();
files++;
return super.visitFile(file, attrs);
}
public int getDirs() {
return dirs;
}
public int getFiles() {
return files;
}
public long getBytes() {
return bytes;
}
}
}