public class Solution {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
             FileOutputStream fos = new FileOutputStream("/Users/nikita/Desktop/Lion.avi")) {
            String fileName;
            FileInputStream fis = null;
            Map<Integer, byte[]> files = new TreeMap<>();
                while (!(fileName = br.readLine()).equals("end")) {
                fis = new FileInputStream(fileName);
                int index = Integer.parseInt(fileName.substring(fileName.indexOf(".part")+5));
                byte []buff = new byte[fis.available()];
                fis.read(buff);
                files.put(index, buff);
            }
            for (Map.Entry entry:
            files.entrySet()){
               fos.write((byte[]) entry.getValue());
            }
                fis.close();
        } catch (IOException e) {
            System.out.println("IOEX");
            e.printStackTrace();
        }
    }
}
Файлы собрались, условия соблюдаются