да и вообще не работает, уже начал из "правильного" решения брать,
меняя свой оригинальный код, всё равно не работает
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.Comparator;
import java.util.*;
import java.util.TreeSet;
public class Solution {
public static void main(String[] args) throws IOException {
String filename;
String out = null;
Map<String, Integer> map = new HashMap<>();
List<Integer> list = new ArrayList<>();
byte[] buffer = null;
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) )
{
while( !((filename = br.readLine()).equals("end")) ){
out = filename.substring(0, filename.lastIndexOf(".part")); // получаем конечное имя файла
String line = filename.replaceAll("\\D","");
int lineNumber = Integer.parseInt(line); // получаем номер куска файла
// int data = Integer.parseInt(filename);
System.out.println("line = " + line + "; out = " + out); // проверка
list.add(lineNumber); // засовываем номер куска файла в список
map.put(filename, lineNumber); // засовываем всё в map
}
Collections.sort(list);
System.out.println(list);
String temp = null;
int data = 0;
if (out == null) return;
System.out.println(map);
try(FileOutputStream writer = new FileOutputStream(out) )
{
for (Integer number: list){
for (Map.Entry<String,Integer> mapa: map.entrySet()){
if (number == mapa.getValue() ) {
temp = mapa.getKey();
System.out.println("temp = " + temp + ", mapa.getValue = " + mapa.getValue()); // проверка
FileInputStream fis = new FileInputStream(temp);
while (fis.available() > 0) {
buffer = new byte[fis.available()];
data = fis.read(buffer);
writer.write(buffer, 0, data);
}
fis.close();
}
}
}
}
}
}
}