Здравствуйте не проходит условие
"Содержимое всех файлов, размер которых не превышает 50 байт, должно быть записано в файл allFilesContent.txt в отсортированном по имени файла порядке" - Проверял все файлы записываются в данный файл и стоит условие на менее 50.
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
// Path путь к директории
// "C:/path/"
File path = new File(args[0]);
// resultFileAbsolutePath - имя существующего файла, который будет содержать результат
// "C:/path/test.txt"
File resultFileAbsolutePath = new File(args[1]);
// Новый путь до файла
File newPath = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
// Записываем в коллекцию все файлы
List<File> listOfFiles = processFilesFromFolder(path);
// Записываем в коллекцию отсортированный список
ArrayList<String> sortedFiles = sort(listOfFiles);
// Переименовать resultFileAbsolutePath в "allFilesContent.txt" (используя метод FileUtils.renameFile и если понадобится FileUtil.isExist)
if(FileUtils.isExist(resultFileAbsolutePath)) {
FileUtils.renameFile(resultFileAbsolutePath, newPath);
}
// В alFilesContent.txt последователь записать содержимое всех файлов отсортированного листа файлов, после каждого тела файла записать "\n"
FileWriter fos = new FileWriter(newPath);
for(int i = 0; i < sortedFiles.size(); i++){
for(int j = 0; j < listOfFiles.size(); j++){
if(sortedFiles.get(i).equals(listOfFiles.get(j).getName())){
try(FileReader fin = new FileReader(listOfFiles.get(j))){
while(fin.ready()){
char[] buffer = new char[1024];
int count = fin.read(buffer);
fos.write(buffer, 0, count);
fos.write("\r\n");
}
}catch(IOException e){
}
}
}
}
fos.close();
}
// Метод получает список всех файлов в директории и поддиректориях
public static List<File> processFilesFromFolder(File folder) {
ArrayList<File> listWithFileNames = new ArrayList<>();
File[] folderEntries = folder.listFiles();
for (File file : folderEntries) {
if(file.isFile() && file.length() < 50){
listWithFileNames.add(file);
}else if (file.isDirectory()) {
File dirPath = new File(file.getAbsolutePath());
for(File fileDir : dirPath.listFiles()){
if(fileDir.isFile() && file.length() < 50){
listWithFileNames.add(fileDir);
}
}
}
}
return listWithFileNames;
}
// Метод сортирует список файлов
public static ArrayList<String> sort(List<File> listFiles){
ArrayList<String> fileNames = new ArrayList<>();
for(File file : listFiles){
fileNames.add(file.getName());
}
Collections.sort(fileNames);
return fileNames;
}
}