Прошу просмотреть объяснения и дополнить непонимания)
package com.javarush.task.task31.task3101;

import java.io.*;
import java.util.ArrayList;
import java.util.TreeSet;

/*
Проход по дереву файлов
*/
public class Solution {

    public static void main(String[] args) throws IOException {
        File path = new File(args[0]);
        File resultFileAbsolutePath = new File(args[1]);
        File allFilesContent = new File(resultFileAbsolutePath.getParent()+ "/allFilesContent.txt");
        FileUtils.renameFile(resultFileAbsolutePath,allFilesContent); //переименовали


        try (FileOutputStream out = new FileOutputStream(allFilesContent)){
           //FileOutputStream out = new FileOutputStream(allFilesContent); // почему при таком способе,
            // не выполнялось условия закрытия потока ?
            fill(path.getPath()); //Не понимаю, что тут происходит ?
            for(File file : myFiles) {
                FileInputStream fileInputStream = new FileInputStream(file);
                while (fileInputStream.available()>0) {
                    out.write(fileInputStream.read());
                }
                out.write(System.lineSeparator().getBytes());
                out.flush();

            }
            out.close();


        } catch (FileNotFoundException a) {

        }
    }
    private static TreeSet<File> myFiles = new TreeSet<>();//тут автоматом отсортируется)

    private static  void fill(String path) {
        File[] allFiles = new File(path).listFiles(); // получаю массив файлов, которые содержатся в данной директории
        for(File file : allFiles) {
            if(file.isDirectory()) { //проверяю, лежит ли тот файл в нужной директории
                fill(file.getAbsolutePath()); // получаю полный путь файла
                continue;
            }
            if(file.length()>50) { // если длина файла больше 50байт - удаляю с помощью метода
                FileUtils.deleteFile(file);
            }
            else {
                myFiles.add(file); //добавляю в колекцию
            }

        }
    }
}