package com.javarush.task.task31.task3101;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

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

    static  List<File> fileList = new ArrayList<>();

    public static void main(String[] args) throws Exception {
        File folder = new File(args[0]);
        File firstResultFile = new File(args[1]);
        File secondResultFile = new File("d:/Study/JavaRush/Test/allFilesContent.txt");

        deleteOrAdd(folder);
        Collections.sort(fileList, new MyFileComparator());
        FileUtils.renameFile(firstResultFile, secondResultFile);
        writeToFile(fileList, secondResultFile);
    }

      public static void deleteOrAdd(File files) {
          for (File file : files.listFiles()) {
              if(file.isDirectory()) {
                  for (File file1 : file.listFiles()) {
                      if (file1.length() > 50)
                          FileUtils.deleteFile(file1);
                      else
                          fileList.add(file1);
                  }
              }
              if(file.length() > 50)
                  FileUtils.deleteFile(file);
              else if(!file.isDirectory())
                  fileList.add(file);
          }
      }

      public static void writeToFile(List<File> fileList, File file) throws Exception {
        FileWriter fileWriter = new FileWriter(file);
          for (File file1 : fileList) {
              if(!file1.getName().equals("allFilesContent.txt")) {
                  BufferedReader reader = new BufferedReader(new FileReader(file1));
                  while (reader.ready()) {
                      fileWriter.write(reader.readLine());
                  }
                  reader.close();
                  fileWriter.write("\n");
              }
          }
          fileWriter.close();
      }

    static class MyFileComparator implements Comparator<File> {
        @Override
        public int compare(File o1, File o2) {
            return o1.getName().compareTo(o2.getName());
        }
    }
}
Не могу понять, почему не проходит. И хотел бы уточнить, что именно во втором параметре нужно прописывать?