Говорит поток записи в файл не был закрыт.
В коде стр 36-39
boutput.close();
Где его закрывать?
Буфер используется ? стр 25-32binput = new BufferedInputStream(ifile, 100000);
boutput = new BufferedOutputStream(fileOutputStream, 100000);
Поток с нужным именем создан? (Сначала номер части потом расширение)FileOutputStream fileOutputStream = new FileOutputStream(foroutput, true);
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
// читаем имена файлов
ArrayList<String> spisokFilov = new ArrayList<>();
BufferedReader readers = new BufferedReader(new InputStreamReader(System.in));
String fileName;
while (!(fileName = readers.readLine()).equals("end")) {
spisokFilov.add(fileName);
}
readers.close();
Collections.sort(spisokFilov); // сортирум
/*создаем потоки*/
try {
FileInputStream ifile = null;
BufferedInputStream binput = null;
String foroutpu = spisokFilov.get(0).substring(0, spisokFilov.get(0).indexOf('.')) + spisokFilov.get(0).substring(spisokFilov.get(0).indexOf('.'), spisokFilov.get(0).lastIndexOf('.'));
String foroutput = foroutpu.substring(0, foroutpu.lastIndexOf('.'));
FileOutputStream fileOutputStream = new FileOutputStream(foroutput, true);
BufferedOutputStream boutput = null;
// цикл который читает и пишет
for (int i = 0; spisokFilov.size() > i; i++) {// длф каждого имени файла создаем потоки для счит и зап
ifile = new FileInputStream(spisokFilov.get(i));
binput = new BufferedInputStream(ifile, 100000);
boutput = new BufferedOutputStream(fileOutputStream, 100000);
int lengthRead2;
while ((lengthRead2 = binput.read()) > 0) {
boutput.write(lengthRead2);
boutput.flush();
}
}
//закрываем потоки
boutput.close();
ifile.close();
binput.close();
fileOutputStream.close();
} catch (Exception e) {}
/*
D:\Lion.txt.part2.txt
D:\Lion.txt.part0.txt
D:\Lion.txt.part1.txt
end
D:\Picture.bmp.part2.bmp
D:\Picture.bmp.part0.bmp
D:\Picture.bmp.part3.bmp
D:\Picture.bmp.part1.bmp
end
* */
}
}