The output its correct, i think the problem is the requirement:
Only use classes and methods from the java.nio package.
But i dont know how to do thi task in a different way
Or maybe its because im using recursion?
package com.codegym.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;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
/*
What's in the folder?
*/
public class Solution {
public static Path cartella;
public static int foldersCount = 0;
public static int filesCount = 0;
public static long totalBytesCount = 0;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
cartella = Paths.get(reader.readLine());
if(!Files.isDirectory(cartella))
System.out.println(cartella + " is not a folder");
else {
//foldersCount++; - When counting the number of folders, don't count the original directory.
iteratorMethod(cartella.toFile().listFiles());
System.out.println("Total folders: " + foldersCount);
System.out.println("Total files: " + filesCount);
System.out.println("Total size: " + totalBytesCount);
}
}
public static void iteratorMethod (File[] filesList){
for(File file : filesList ){
if(file.isDirectory()){
iteratorMethod(file.listFiles());
foldersCount++;
}else {
filesCount++;
long size = file.length();
totalBytesCount += size;
}
}
}
}
//C:\Users\39348\OneDrive\Desktop\Directory