Тестил у себя все норм.
public class Solution {
    public static void main(String[] args) {
        File fileDirectory = new File(args[0]);
        File resultFileAbsolutePath = new File(args[1]);

        //коллекция для хранения файлов
        List<File>  fileList = new ArrayList<>();


        recurseDirectory(fileDirectory.listFiles(), fileList);

        //сортируем файлы по имени , поэтому передаем компаратор
        Collections.sort(fileList, (o1, o2) -> o1.getName().compareTo(o2.getName()));

        for (File file : fileList) {
            System.out.println(file.getName());
        }
        //создаем файл назначения
        File allFilesContent = new File(resultFileAbsolutePath.getParent()+
                ("allFilesContent.txt"));
        if(FileUtils.isExist(resultFileAbsolutePath)){
            FileUtils.renameFile(resultFileAbsolutePath,allFilesContent );

       if(FileUtils.isExist(resultFileAbsolutePath))FileUtils.deleteFile(resultFileAbsolutePath);
        }
        //считываем из файлов и записываем в файл назначения
        try {
            BufferedWriter writeFile = new BufferedWriter(new OutputStreamWriter(
                                          new FileOutputStream(allFilesContent)));
            BufferedReader readerFile = null;
            for (File file : fileList) {
                readerFile = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
                while(readerFile.ready()){
                    writeFile.write(readerFile.read());
                }
                writeFile.write("\n");
            }
            readerFile.close();
            writeFile.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
/*
* Рекурсивно проходит по массиву файлов если находит дерикторию, получает о5
 * массив файлов и так рекурсивно пока не дойдет до листового
 * каталога( аналогия с деревьями),
 выходя из функции считывает файлы в директории которые меньше 50 байт
* */
        public static void recurseDirectory(File[] array, List<File> list){
            for (int i = 0; i < array.length; i++) {
                if(array[i].isDirectory()) {
                    System.out.println(array[i].getAbsolutePath());
                    recurseDirectory(array[i].listFiles(), list);
                }
                if(array[i].isFile() && array[i].length() < 50){
                    list.add(array[i]);
                }
            }
    }
}