Написал условия на все случаи жизни
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        Map<Integer, String> map = new TreeMap<>();
        String str;
        String index = "aaassdkl1";
        String fname = "";

/**
 *      Читаем имена файлов и проверяем на корректность ввода
 */
        String path2 = null;
        while (!(str = reader.readLine()).equals("end") ) {          //Вводим Lion.avi.part1
            if (!str.equals("") && str.contains(".part") && str.contains(".txt")) {
                if (path2 == null) path2 = str.substring(0, str.lastIndexOf(".part"));
                index = str.substring(str.lastIndexOf(".part") + 5); //Индекс 1

                    map.put(Integer.parseInt(index), str);// В мапе хранится пара ключ: 1, значение: Lion.avi.part1
                    fname = str;

            } else System.out.println("String is not correct, please enter again:");
        }
        reader.close();

        String fileOutput = path2; // path хранит адрес места где читаем/записываем файлы добавляем к адресу имя файла без .partN = Lion.avi

        FileOutputStream fileOutputStream = new FileOutputStream(fileOutput);
        BufferedOutputStream bufferdOutputStream = new BufferedOutputStream(fileOutputStream);
        for (Map.Entry<Integer, String> pair :
                map.entrySet()) {  // идем по парам мапы, TreeMap(записывает все элементы сортируя их по ключу)

            String filepath = pair.getValue();  //добавляем к адресу чтеня имя конкретного файла из которого будем читать байты

            FileInputStream fileInputStream = new FileInputStream(filepath);
            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
            byte[] buffer = new byte[bufferedInputStream.available()]; //добавил только для валидатора, если BufferedInputStream ему не хватает

            while (bufferedInputStream.available() > 0) {
                bufferedInputStream.read(buffer);
                bufferdOutputStream.write(buffer);
            }
            bufferedInputStream.close();
            fileInputStream.close();
        }
        bufferdOutputStream.close();
        fileOutputStream.close();
    }