Прошу помощи в решении задачи. Условие задачи:
Проход по дереву файлов
1. На вход метода main подаются два параметра.
Первый — path — путь к директории, второй — resultFileAbsolutePath — имя файла, который будет содержать результат.
2. Для каждого файла в директории path и в ее всех вложенных поддиректориях выполнить следующее:
2.1. Если у файла длина в байтах больше 50, то удалить его (используй метод FileUtils.deleteFile).
2.2. Если у файла длина в байтах НЕ больше 50, то для всех таких файлов:
2.2.1. Отсортировать их по имени файла в возрастающем порядке, путь не учитывать при сортировке.
2.2.2. Переименовать resultFileAbsolutePath в ‘allFilesContent.txt‘ (используй метод FileUtils.renameFile).
2.2.3. В allFilesContent.txt последовательно записать содержимое всех файлов из п. 2.2.1. Тела файлов разделять «n«.
Все файлы имеют расширение txt.

Требования:
1. Файл, который приходит вторым параметром в main, должен быть переименован в allFilesContent.txt.
2. Нужно создать поток для записи в переименованный файл.
3. Пройдись по всем файлам в директории, которая приходит первым параметром в main, и всех ее поддиректориях. Файлы с размером более 50 байт нужно удалить используя метод FileUtils.deleteFile.
4. Содержимое всех файлов, размер которых не превышает 50 байт, должно быть записано в файл allFilesContent.txt в отсортированном по имени файла порядке.
5. Поток для записи в файл нужно закрыть.
Код:
package com.javarush.task.task31.task3101;

import java.io.*;
import java.util.*;

/*
Проход по дереву файлов
*/
public class Solution {
    public static void main(String[] args) throws IOException {
        File path = new File(args[0]); // папка с файлами
        File resultFileAbsolutePath = new File(args[1]); // файл с результатами, который будем переименовывать
        if (!resultFileAbsolutePath.exists()) resultFileAbsolutePath.createNewFile(); // создаем файл с результатами
        File allFilesContent = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt"); // будущий файл с результатами
        if (allFilesContent.exists()) FileUtils.deleteFile(allFilesContent); // если новый файл уже был создан, удаляем его

        FileUtils.renameFile(resultFileAbsolutePath, allFilesContent); // переименовываем файл с результатами

        List<File> files = new ArrayList<>(); // создаем список, где будем хранить файлы, размер которых не превышает 50 байт

        // проходим по директории и поддиректориям и добавляем файлы в список
        Stack<File> stack = new Stack<>();
        stack.push(path);
        while(!stack.isEmpty()){
            File file = stack.pop();
            if (file.isDirectory()) {
                for (File f : file.listFiles()) stack.push(f);
            }
            else if (file.isFile()) {
                if (file.length() > 50) FileUtils.deleteFile(file);
                else files.add(file);
            }
        }
        //--------------------------------------------------------------------

        // сортируем файлы в списке по имени
        files.sort(new Comparator<File>() {
            @Override
            public int compare(File o1, File o2) {
                return o1.getName().compareTo(o2.getName());
            }
        });
        //----------------------------------

        // открываем поток для записи в новый файл с результатами и записываем содержимое файлов из списка
        try(FileOutputStream fos = new FileOutputStream(allFilesContent)){
            for (File file : files){
                try(FileInputStream fis = new FileInputStream(file)){
                    int c;
                    while ((c = fis.read()) != -1){
                        fos.write(c);
                    }
                    fos.write("\r\n".getBytes());
                    fos.flush();
                }
            }
        }
        //-------------------------------------------------------------------------------------------------

    }

    public static void deleteFile(File file) {
        if (!file.delete()) System.out.println("Can not delete file with name " + file.getName());
    }
}
Ответ валидатора: