Уже переписывал и с BufferedReader и с FileInputStream и как только ни пробовал, ни в какую, при этом результат получается верный
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<String> list = new ArrayList<>();
String s;
while (true){
if (!(s = reader.readLine()).equals("end")) list.add(s);
else break;
}
reader.close();
Collections.sort(list, (o1,o2)->{
int x = Integer.parseInt(o1.substring(o1.lastIndexOf(".")+5));
int y = Integer.parseInt(o2.substring(o2.lastIndexOf(".")+5));
if (x > y) return 1;
else if (x < y) return -1;
else return 0;
});
//System.out.println(list);
String s1 = list.get(0).substring(0,list.get(0).lastIndexOf("."));
System.out.println(s1);
File fileOut = new File(s1);
BufferedOutputStream bufferedWriter = new BufferedOutputStream(new FileOutputStream(fileOut), 1024);
File file = null;
for (String s2 : list) {
file = new File(s2);
BufferedInputStream bufferedReader = new BufferedInputStream(new FileInputStream(file),1024);
while (bufferedReader.available() > 0){
byte[] b = new byte[bufferedReader.available()];
bufferedReader.read(b);
bufferedWriter.write(b);
}
bufferedReader.close();
}
bufferedWriter.close();
}
}