Проблема с валидаторм: 1.Используй метод renameFile, чтобы переименовать входящий файл для результатов в allFilesContent.txt. 2. Содержимое всех файлов, размер которых не превышает 50 байт, должно быть записано в файл allFilesContent.txt в отсортированном по имени файла порядке. Код ниже. В целом я понимаю одну ошибку, это сортировка. Она работает не корректно. Т.е. имена "123.txt", "2.txt", будут сортированы данным способом, как "123.txt", "2.txt", а должны наоборот. Есть какой то простой способ сортировать? Или надо свою писать сортировку? А насчет переименования хз, вроде все работает, почему не нравится не понимаю. Буду рад любой помощи;)
package com.javarush.task.task31.task3101;

import java.io.*;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
Проход по дереву файлов
*/
public class Solution {
    public List<File> fileList;                                            // список со всеми файлами подходящими под условие

    public static void main(String[] args) throws IOException {
        Solution sol1 = new Solution();
        sol1.fileList = new ArrayList<>();                                  // инициализация списка
        File renameFile = new File(args[1]);
        String filenameNew = renameFile.getParent() + "\\" + "allFilesContent.txt"; //переименовываем путь к файлу который переименуем
        renameFile.renameTo(new File(filenameNew));                                 // переименовываем файл
        //System.out.println(renameFile.getName());
        FileOutputStream fileOutputStream = new FileOutputStream(filenameNew, true);  // создаем поток для записи
        String folder = (args[0]);                                                             // путь директории
        sol1.getFile(folder, sol1.fileList);                                                   // заполняем список файлами
        sol1.fileList.sort(Comparator.comparing(File::getName));                               // соритровка, которая НЕ РАБОТАЕТ

        for (File fileInput : sol1.fileList) {                                                     // цикл запиливания всех файлов в 1
            FileInputStream fileInputStream = new FileInputStream(fileInput.getAbsoluteFile());
            while (fileInputStream.available() > 0) {
                fileOutputStream.write(fileInputStream.read());
            }
            fileOutputStream.write('\n');
            fileInputStream.close();
        }
        fileOutputStream.close();

    }

    public String getPath(String str) {                                          //переход в диреткорию выше
        Pattern pattern = Pattern.compile(".*(?=\\\\)");                        //
        Matcher matcher = pattern.matcher(str);
        if (matcher.find()) {
            str = matcher.group();
            return str;
        } else return null;
    }

    public void getFile(String folder, List<File> fileList) {                   // получаем путь к директории
        File folders = new File(folder);                                        // пробегаемся по всей директории и
        for (File file : folders.listFiles())                                   // проверяем файлы, которые соотвествуют условию
        {                                                                       //
            if (file.isFile() && file.length() < 50)                                 // это файл и объем менее 50
            {
                fileList.add(file);
            }
        }
        String backFolder = getPath(folder);                                    // получаем путь директории "выше"
        if (backFolder != null) {                                                   // если все ок, рекурсия
            getFile(backFolder, fileList);
        }
    }
}