Помогите разобраться, почему валидатор не принимает по пункту:
2.3. В allFilesContent.txt последовательно записать содержимое всех файлов из п. 2.2.1. После каждого тела файла записать "\n".
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String path = args[0];
String resultFileAbsolutePath = args[1];
File dir = new File(path);
File result = new File(resultFileAbsolutePath);
if (!FileUtils.isExist(dir)) {
dir.mkdir();
}
if (!FileUtils.isExist(result)) {
result.createNewFile();
}
File renamedFile = new File(result.getParentFile().getAbsolutePath() + "\\allFilesContent.txt");
if (FileUtils.isExist(renamedFile)) {
renamedFile.delete();
}
FileUtils.renameFile(result, renamedFile);
List<File> filesList = getFilesListFromDir(dir);
Collections.sort(filesList, Comparator.comparing(File::getName));
FileWriter writer = new FileWriter(renamedFile);
filesList.stream()
.filter(file -> file.length() <= 50)
.forEach(file -> processFile(writer, file));
writer.flush();
writer.close();
}
private static List<File> getFilesListFromDir(File dir) {
List<File> filesList = new ArrayList<>();
for (File file : dir.listFiles()) {
if (file.isFile()) {
filesList.add(file);
} else {
filesList.addAll(getFilesListFromDir(file));
}
}
return filesList;
}
private static void processFile(FileWriter writer, File file) {
StringBuilder builder = new StringBuilder();
try (FileReader reader = new FileReader(file)) {
char x;
while (reader.ready()) {
x = (char) reader.read();
builder.append(x);
}
builder.append('\n');
writer.write(builder.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
методах