Четвёртый пункт выдаёт: "При подсчёте количества папок, изначальную директорию считать не нужно.", хотя на тестах всё выдаёт корректно.
В пятом и шестом пункте пишет: "Исключение системы безопасности JavaRush. Вы выполняете потенциально опасную или запрещённую операцию",
я даже не знаю из-за чего это может быть.
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.Files;
import java.nio.file.Paths;
import java.util.LinkedList;
import java.util.Queue;
/*
Что внутри папки?
*/
public class Solution {
// public static int folders = 0;
// public static int files = 0;
// public static int allBytes = 0;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//System.out.println("Enter path to folder: ");
String path = reader.readLine();
int folders = 0;
int files = 0;
int allBytes = 0;
if(!Files.isDirectory(Paths.get(path))){
System.out.println(path + " - не папка");
return;
}
File file = new File(path);
Queue queue = new LinkedList();
do{
if(queue.size() != 0)
file = new File((String) queue.poll());
for(File file1 : file.listFiles()){
if(file1.isDirectory()) {
folders++;
queue.add(file1.getPath());
}
if(file1.isFile()) {
files++;
allBytes += Files.readAllBytes(Paths.get(file1.getAbsolutePath())).length;
}
}
}while(queue.size() > 0);
System.out.println("Всего папок - " + folders);
System.out.println("Всего файлов - " + files);
System.out.println("Общий размер - " + allBytes);
}
}