Что опять не нравится валидатору?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
/* String[] args2 = new String[2];
args2[0] = "G:/test";
args2[1] = "G:/test/test.txt";
*/
File path = new File(args[0]);
File dest = new File(args[1]);
File allFilesContent = new File(args[0] + "/allFilesContent.txt");
rename(dest, allFilesContent);
getFileTree(path, allFilesContent);
}
public static void rename(File path, File dest) {
if (FileUtils.isExist(dest)) {
FileUtils.deleteFile(dest);
}
FileUtils.renameFile(path, dest);
}
public static void getFileTree(File test, File allFilesContent) throws IOException {
List<File> fileList = new ArrayList<>();
Queue<File> queue = new LinkedList<>();
queue.add(test);
boolean flag = true;
while (flag) {
File f = queue.poll();
if (f == null) {
flag = false;
} else {
if (f.isDirectory()) {
List<File> temp = Arrays.asList(Objects.requireNonNull(f.listFiles()));
for (File file : temp) {
if (file.isDirectory()) {
queue.add(file);
} else {
if (file.length() < 50 & !file.getName().equals("allFilesContent.txt")) {
fileList.add(file);
}
}
}
}
}
}
Collections.sort(fileList);
for (File file : fileList) {
BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedWriter writer = new BufferedWriter(new FileWriter(allFilesContent, true));
String line;
while ((line = reader.readLine()) != null) {
writer.newLine();
writer.write(line);
}
writer.write("\n");
reader.close();
writer.close();
}
}
}