В задаче "Собираем файл" озвучены следующие требования:
1. Программа должна считывать имена файлов с консоли, пока не будет введено слово "end".
2. Создай поток для записи в файл без суффикса [.partN] в папке, где находятся все считанные файлы.
3. В новый файл перепиши все байты из файлов-частей *.partN.
4. Чтение и запись должны происходить с использованием буфера.
5. Созданные для файлов потоки должны быть закрыты.
6. Не используй статические переменные.
Из всех требований мне неясно второе. Это вообще как? Если же мы заглянем в правильное решение, то увидим следующий кусок кода, инициализирующий выходной файл:
String outputFile = null;
String readString;
while (!(readString = reader.readLine()).equals("end")) {
files.add(readString);
if (outputFile == null) {
int indexOfSuffix = readString.lastIndexOf(".part");
outputFile = readString.substring(0, indexOfSuffix);
}
}
Другими словами, здесь переменной outputFile присваивается значение вырванного отрывка имени файла, из которого мы будем читать байты в последствии. Мне не очень понятно как это соотносится с требованием.