Проверила на своих файлах, все отработало ок, почему не проходит валидациию?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String path = args[0];
String resultFileAbsolutePath = args[1];
File file = new File(resultFileAbsolutePath);
File newFile = new File(file.getParent() + "/allFilesContent.txt");
if (newFile.exists()) {
newFile.delete();
}
FileUtils.renameFile(file, newFile);
List<File> listOfFiles = new ArrayList<>();
List<String> listOfFileNames = new ArrayList<>();
searchFiles(path, listOfFiles);
sortFiles(listOfFiles, listOfFileNames);
FileOutputStream outputStream = new FileOutputStream(newFile, true);
for (int i = 0; i < listOfFileNames.size(); i++) {
for (int j = 0; j < listOfFiles.size(); j++) {
if (listOfFileNames.get(i).equals(listOfFiles.get(j).getName())) {
FileInputStream inputStream = new FileInputStream(listOfFiles.get(j));
byte[] buff = new byte[inputStream.available()];
inputStream.read(buff);
outputStream.write(buff);
outputStream.write("\n".getBytes());
inputStream.close();
}
continue;
}
}
outputStream.close();
}
private static void sortFiles(List<File> listOfFiles, List<String> listOfFileNames) {
listOfFileNames.addAll(listOfFiles.stream().map(file -> file.getName()).sorted().collect(Collectors.toList()));
}
private static void searchFiles(String rootPath, List<File> listOfFiles) {
for (File f : new File(rootPath).listFiles()) {
if (f.isDirectory()) {
searchFiles(f.getPath(), listOfFiles);
} else {
if (f.length() <= 50 && f.length() != 0L) {
listOfFiles.add(f);
}
}
}
}
}