На моих тестах вроде все ок, работает, записывает, что может быть не так?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) {
//String path = "C:/test/Files/";
//String resultFileAbsolutePath = "c:/test/result.txt";
String path = args[0];
String resultFileAbsolutePath = args[1];
File file = new File(path);
TreeMap<String, File> treeMap = new TreeMap<>();
for(File element: file.listFiles()){
if(element.isDirectory()){
File directory = element.getAbsoluteFile();
for(File elementDir: directory.listFiles()){
if(elementDir.length() <= 50){
treeMap.put(elementDir.getName(),elementDir);
}
}
}
else {
if(element.length() <=50){
treeMap.put(element.getName(),element);
}
}
}
System.out.println("==========");
File result = new File(resultFileAbsolutePath);
String newResult = result.getParent() + "/allFilesContent.txt";
File resultFile = new File(newResult);
FileUtils.renameFile(result, resultFile);
try {
for(Map.Entry<String, File> pair : treeMap.entrySet()){
BufferedReader bufferedReader = new BufferedReader(new FileReader(pair.getValue()));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(resultFile, true));
String line = "";
System.out.println("reading: " + pair.getKey());
while((line=bufferedReader.readLine()) != null){
bufferedWriter.write(line);
}
bufferedWriter.write("\n");
bufferedReader.close();
bufferedWriter.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}