Валидатор ругается на "Убедись, что учитываешь поддиректории в path", не пойму в чем дело
public static void main(String[] args) throws IOException {
File path = new File("C:\\test");
File resultFileAbsolutePath = new File("C:\\test\\123.txt");
File allFilesContent = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
Map<String,String> files = new HashMap<> ();
files = Dir(path);
BufferedWriter fos = new BufferedWriter (new FileWriter (allFilesContent));
for (Map.Entry<String,String>file : files.entrySet ()) {
BufferedReader reader = new BufferedReader (new FileReader (file.getValue ()));
while ( reader.ready () ){
fos.write (reader.readLine ());
}
reader.close ();
fos.write ("\n");
}
fos.close ();
}
public static Map<String,String> Dir(File full){
Map<String,String> files = new HashMap<> ();
for (File f: full.listFiles()) {
if(f.isDirectory ()){
Dir (f);
}else if (f.length () <= 50){
files.put (f.getName (), f.getAbsolutePath ());
}
}
return files;
}
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File allFilesContent = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
//resultFileAbsolutePath.renameTo (new File (resultFileAbsolutePath.getParent() + "/allFilesContent.txt"));
Map<String,String> files = new HashMap<> ();
files = Dir(path);
BufferedWriter fos = new BufferedWriter (new FileWriter (allFilesContent));
for (Map.Entry<String,String>file : files.entrySet ()) {
BufferedReader reader = new BufferedReader (new FileReader (file.getValue ()));
while ( reader.ready () ){
fos.write (reader.readLine ());
}
reader.close ();
fos.write ("\\n");
}
fos.close ();
}
public static Map<String,String> Dir(File full){
Map<String,String> files = new HashMap<> ();
for (File f: full.listFiles()) {
if(f.isDirectory ()){
Dir (f);
}else if (f.length () <= 50){
files.put (f.getName (), f.getAbsolutePath ());
}
}
return files;
}
//метод определения расширения файла
public static String getFileExtension(File file) {
String fileName = file.getName();
// если в имени файла есть точка и она не является первым символом в названии файла
if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
// то вырезаем все знаки после последней точки в названии файла, то есть ХХХХХ.txt -> txt
return fileName.substring(fileName.lastIndexOf(".")+1);
// в противном случае возвращаем заглушку, то есть расширение не найдено
else return "";
}
}