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.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/*
Проход по дереву файлов
*/
public class Solution {
    public static void main(String[] args) throws IOException {

        String path = args[0];
        String resultFile = args[1];
        String allFilesContent = resultFile.substring(0, resultFile.lastIndexOf("\\") + 1) + "allFilesContent.txt";
        FileUtils.renameFile(new File(resultFile), new File(allFilesContent));
        final List<File> files = new ArrayList<>();
        Path pathDir = Paths.get(path);



        try (FileOutputStream outputStream = new FileOutputStream(allFilesContent)) {
            Files.walkFileTree(pathDir, new SimpleFileVisitor<Path>() {
                public FileVisitResult visitFile(Path file,
                                                 BasicFileAttributes fileAttributes) throws IOException {
                    if (Files.size(file) > 50) {
                        FileUtils.deleteFile(new File(file.toAbsolutePath().toString()));
                    } else {
                        files.add(file.toAbsolutePath().toFile());
                    }
                    return FileVisitResult.CONTINUE;
                }
            });
            Collections.sort(files, new Comparator<File>() {
                @Override
                public int compare(File o1, File o2) {
                    return o1.getName().compareTo(o2.getName());
                }
            });

            Files.copy(files.get(0).toPath(), outputStream);
            for (int i = 1; i < files.size(); i++) {
                outputStream.write(System.lineSeparator().getBytes());
                Files.copy(files.get(i).toPath(), outputStream);
            }
        }
    }

    public static void deleteFile(File file) {
        if (!file.delete()) System.out.println("Can not delete file with name " + file.getName());
    }
}
Подскажите в чем ошибка??