Программа работает и есть результат, который в условии. В чем может быть причина?
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
Set<String> fileNames = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
String[] s1 = o1.split(".part");
String[] s2 = o2.split(".part");
int number1 = Integer.parseInt(s1[s1.length-1]);
int number2 = Integer.parseInt(s2[s2.length-1]);
return Integer.compare(number1, number2);
}
});
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String line;
String forOutputString = null;
while (!(line = bufferedReader.readLine()).equals("end")) {
forOutputString = line;
fileNames.add(line);
}
bufferedReader.close();
if (forOutputString != null) {
ArrayList<char[]> list = new ArrayList<>();
int toIndex = forOutputString.indexOf(".part");
String outputFile = forOutputString.substring(0, toIndex);
for (String fileName : fileNames) {
File file = new File(fileName);
BufferedReader br = new BufferedReader(new FileReader(fileName));
char[] cBuff = new char[(int) file.length()];
br.read(cBuff);
list.add(cBuff);
br.close();
}
BufferedWriter bWriter = new BufferedWriter(new FileWriter(outputFile));
for (char[] chars : list) {
bWriter.write(chars);
}
bWriter.close();
}
}
}