Проверял программу с помощью тестовых txt файлов, все работало.
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.Collections;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
TreeSet<String> treeSet = new TreeSet<String>();
String S = null;
while (true) {
S = bufferedReader.readLine();
if (S.equals("end")) {
break;
} else {
treeSet.add(S);
}
}
bufferedReader.close();
String[] extensions = treeSet.first().split("\\.");
String extension = extensions[extensions.length - 1];
String name = treeSet.first().split(".part")[0] + "." + extension;
System.out.println(treeSet.first().split(".part")[0] + "." + extension);
File file = new File(name);
FileOutputStream fileOutputStream = new FileOutputStream(file);
byte[] buffer;
for (String s : treeSet) {
FileInputStream fileInputStream = new FileInputStream(s);
while (fileInputStream.available() > 0) {
buffer = new byte[fileInputStream.available()];
int data = fileInputStream.read(buffer);
fileOutputStream.write(buffer, 0, data);
}
}
fileOutputStream.close();
}
}