Не могу понять, где задача уходит в бесконечный цикл. Вроде все нормально(в прикрепленном коде почему то не отображаются комментарии)
package com.javarush.task.task18.task1825;
/*
Собираем файл
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String path = reader.readLine();
ArrayList<String> paths = new ArrayList<>();
while (path != "end"){
paths.add(path);
path = reader.readLine();
}
reader.close();
paths.sort(String::compareTo);
String[] fileName = paths.get(0).split(".");
StringBuilder sb = new StringBuilder();
for(int i = 0; i < fileName.length - 1; i ++){
sb.append(fileName[i]).append(".");
}
sb.deleteCharAt(sb.length());
String finalFileName = sb.toString();
File file = new File(finalFileName);
file.createNewFile();
FileOutputStream outputStream = new FileOutputStream(finalFileName);
for(int i = 0; i < paths.size(); i ++){
FileInputStream inputStream = new FileInputStream(paths.get(i));
byte[] bytes = new byte[inputStream.available()];
while(inputStream.available() > 0){
inputStream.read(bytes);
}
inputStream.close();
outputStream.write(bytes);
}
outputStream.close();
}
}