Разве ByteArrayOutputStream не является буфером?
package com.javarush.task.task18.task1825;
import java.util.*;
import java.io.*;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
HashMap<String, ByteArrayOutputStream> files = new HashMap<>();
while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
if (fileName.equals("end")) break;
try (FileReader file = new FileReader(fileName)) {
ByteArrayOutputStream writer = new ByteArrayOutputStream();
while (file.ready()) {
writer.write(file.read());
}
files.put(fileName, writer);
}
}
TreeMap<String, ByteArrayOutputStream> sortedFiles = new TreeMap<>(files);
File f = new File("/Lion.avi");
try (FileWriter file1 = new FileWriter(f)) {
for (Map.Entry<String, ByteArrayOutputStream> entry : sortedFiles.entrySet()) {
file1.write(entry.getValue().toString());
}
}
}
}
