Повторно залил вопрос. Перенес метод getFileDirectory() в Solution.
Сообщение от валидатора по пункту номер 3:
Убедись, что в файл allFilesContent.txt не записываются лишние данные.
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static List<File> list = new ArrayList<>();
public static List<File> getFileDirectory(File file) {
for (File file1: file.listFiles()) {
if (file1.isDirectory()) {
getFileDirectory(file1);
} else {
if (file1.length() <= 50) {
list.add(file1);
}
}
}
return list;
}
public static void main(String[] args) throws IOException {
File direct = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
List<File> files = getFileDirectory(direct);
Comparator<File> comparator = (o1, o2) -> o1.getName().compareTo(o2.getName());
Collections.sort(files, comparator);
String newNameFile = resultFileAbsolutePath.getParent() + "/allFilesContent.txt";
File newFile = new File(newNameFile);
if (FileUtils.isExist(resultFileAbsolutePath)) {
FileUtils.renameFile(resultFileAbsolutePath, newFile);
}
FileOutputStream outputStream = new FileOutputStream(newNameFile);
for (int i = 0; i < files.size(); i++) {
FileInputStream inputStream = new FileInputStream(files.get(i));
while (inputStream.available() > 0) {
outputStream.write(inputStream.read());
}
outputStream.write('\\');
outputStream.write('n');
inputStream.close();
}
outputStream.close();
}
}