Не понимаю, что не так?
Думала, что вопрос в сортировке, но я пробовала все что можно...
Наверное проблема в записи? Но нет, записывает, все как положено, и между каждым блоком данных файлов ставит "\n".
Что не так? Подскажите (((
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.*;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String pathDirectory = args[0];
String resultFileAbsolutePath = args[1];
File result = new File(resultFileAbsolutePath); //файл для переименования
File fileNew = new File(result.getParent() + "/" + "allFilesContent.txt"); //новый файл для записи данных
File file = new File(pathDirectory); //файл директория
//переименование файла
if (fileNew.exists()) {
fileNew.delete();
}
FileUtils.renameFile(result, fileNew);
ArrayList<File> nameFiles = new ArrayList<>();
createList(file, nameFiles); // заполнили
Collections.sort(nameFiles, Comparator.comparing(File::getName));
//проверка на сортировку по имени файла
for (File x : nameFiles) {
System.out.println(x.getName());
}
//записываем данные из файлов в наш новенький
BufferedWriter os = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileNew, true)));
for (File x : nameFiles) {
BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(x)));
StringBuilder sb = new StringBuilder();
while (is.ready()) {
sb.append(is.readLine()).append("\n");
}
sb.append("\n");
os.write(sb.toString());
is.close();
}
os.close();
}
private static void createList(File file, ArrayList<File> list) { //записывает ИМЕНА файлов из директории в лист
for (File fileFromDir : file.listFiles()) {
if (fileFromDir.isFile()) {
if (fileFromDir.length() <= 50) {
list.add(fileFromDir);
}
}
if (fileFromDir.isDirectory()) {
createList(fileFromDir, list);
}
}
}
}