20 часов мучений
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.Files;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File file = new File(args[1]);
if (!file.exists()){
file.createNewFile();
}
File allFilesContent = new File(file.getParent() + "\\" + "allFilesContent.txt");
FileUtils.renameFile(file, allFilesContent);
BufferedWriter writer = new BufferedWriter(new FileWriter(allFilesContent));
File folder = new File(args[0]);
ArrayList<File> list = new ArrayList<>();
getListFiles(folder, list);
Collections.sort(list);
for (File copyFile : list){
Copy(copyFile, writer);
}
writer.close();
}
public static void Copy(File input, BufferedWriter writer) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(input));
while (reader.ready()){
writer.write(reader.read());
}
writer.newLine();
reader.close();
}
public static void getListFiles(File folder, ArrayList<File> list){
ArrayList<File> fileArrayList = new ArrayList<>();
Collections.addAll(fileArrayList, folder.listFiles());
for(File file1 : fileArrayList){
if (file1.isDirectory()){
getListFiles(file1, list);
} else {
if(file1.length() <= 50){
list.add(file1);
}
}
}
}
}