Поток для записи вроде как создал.
Файлы переписываются именно в порядке от первой части к последней.
Буфер присутствует и потоки закрываются, так ведь?
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
Map<String, String> files = new TreeMap<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName;
while (!(fileName = reader.readLine()).equals("end")) {
files.put(fileName.split("part")[1], fileName);
}
reader.close();
byte[] buffer = new byte[10];
for (Map.Entry<String, String> pair : files.entrySet()) {
FileInputStream fileReader = new FileInputStream(pair.getValue());
FileOutputStream fileWriter = new FileOutputStream("c:\\fold\\lion.avi.txt", true);
while (fileReader.available() > 0) {
int count = fileReader.read(buffer);
fileWriter.write(buffer, 0, count);
}
fileReader.close();
fileWriter.close();
}
}
}