не проходит валидацию
package com.javarush.task.task31.task3113;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
/*
Что внутри папки?
*/
public class Solution {
public static class FileVisitor extends SimpleFileVisitor<Path> {
int File = 0;
int Dir = 0;
long size = 0;
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
if (attrs.isDirectory()){
Dir++;
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (attrs.isRegularFile()) {
File++;
}
return FileVisitResult.CONTINUE;
}
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Path path = Paths.get(reader.readLine());
FileVisitor fileVisitor = new FileVisitor();
if (!Files.isDirectory(path)) {
System.out.println(path + " - не папка");
return;
} else {
Files.walkFileTree(path, fileVisitor);
}
System.out.println("Всего папок " + (fileVisitor.Dir-1));
System.out.println("Всего файлов " + fileVisitor.File); // Почему то папки засчтываются в число файлов
System.out.println("Общий размер " + Files.size(path));
// Так выравниваю к правильному количеству но валидатору это не катит
//System.out.println("Всего папок " + (fileVisitor.Dir-1));
//System.out.println("Всего файлов " + (fileVisitor.File - (fileVisitor.Dir-1)));
//System.out.println("Общий размер " + Files.size(path));
}
}