Программа работает! Все пишет как надо! Валидатор пусть ругается - это просто еще один из вариантов решения задачи. Кстати, можно ли как-то подогнать это решение под валидатор?
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<String> list = new ArrayList<>();
String file = reader.readLine();
while (!file.equals("end")) {
list.add(file);
file = reader.readLine();
}
reader.close();
Collections.sort(list);
FileOutputStream writer = new FileOutputStream("d:/test.txt.txt", true);
List<FileInputStream> fileList = new ArrayList<>();
FileInputStream reader1 = new FileInputStream(list.get(0));
FileInputStream reader2 = new FileInputStream(list.get(1));
FileInputStream reader3 = new FileInputStream(list.get(2));
FileInputStream reader4 = new FileInputStream(list.get(3));
fileList.add(reader1);
fileList.add(reader2);
fileList.add(reader3);
fileList.add(reader4);
for (FileInputStream x:fileList
) {
byte[] buffer = new byte[x.available()];
while (x.available() > 0) {
int count = x.read(buffer);
}
writer.write(buffer);
x.close();
}
writer.close();