код вроде работает, переписывает, может я не понял что не так, объясните пожалуйста
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));
FileOutputStream fos = null;
int numb = 1;
ArrayList<String> list = new ArrayList<>();
boolean flag = true;
String denFile = "";
while (flag) {
denFile = reader.readLine();
if(denFile.endsWith(".part")) {
denFile = denFile + numb;
list.add(denFile);
numb+=1;
}
else if(denFile.equals("end")) {
flag = false;
}
else {
fos = new FileOutputStream(denFile);
}
}
StringBuilder sb = new StringBuilder();
FileInputStream fis;
byte[] buffer = new byte[10000];
for (int i = 0; i < list.size(); i ++) {
fis = new FileInputStream(list.get(i));
while (fis.available() > 0){
int count = fis.read(buffer);
if (fos!= null) {
fos.write(buffer, 0, count);
}
}
fis.close();
}
if (fos!= null) {
fos.close();
}
//System.out.println(list);
}
}