Не проходит 3 пункт "Содержимое всех файлов, размер которых не превышает 50 байт, должно быть записано в файл allFilesContent.txt в отсортированном по имени файла порядке."
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File path = null;
File resultFileAbsolutePath = null;
//Проверяем наличие аргументов
//Если да, то иницилизируем переменные
if (args.length>=2) {
path = new File(args[0]);
resultFileAbsolutePath = new File(args[1]);
}
//Если нет, сообщаем об этом и завершаем прогу
else {
System.out.println("Not parametrs");
System.exit(0);
}
//Переименовываем
File allFilesContent = new File(resultFileAbsolutePath.getParent()+"/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath,allFilesContent);
//создаем лист с сортировкой
TreeMap<String,File> files = new TreeMap<String, File>();
//Проверяем есть ли такая дериктория
//Если да, то заполняем наш лист
if (FileUtils.isExist(path)) {
FileUtils.getFiles(path, files);
}
//Если нет, сообщаем об этом
else
System.out.println("Not Directory");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(allFilesContent)));
Iterator<Map.Entry<String,File>> it = files.entrySet().iterator();
while (it.hasNext()){
Map.Entry<String,File> entry = it.next();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(entry.getValue())));
while (br.ready()){
bw.write(br.readLine());
bw.write("\n");
}
br.close();
}
bw.flush();
bw.close();
}
}