Я очень жесткие коды пишу... но вроде же всё должно быть как хочется ... (((вообще не понимаю , чё от меня хотят 4 часа мудрил .
package com.javarush.task.task18.task1825;
/*
Собираем файл
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws IOException {
Map<Integer,String> map = new TreeMap<>();
ArrayList<String> spisokFilov = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = null;
while (!(fileName = reader.readLine()).equals("end")) {
spisokFilov.add(fileName);
}
reader.close();
// ======================СЧИТАЛИ НАЗВАНИЕ ФАЙЛОВ===========================
//=========================================================================
//=========================================================================
BufferedReader reader1 = null;
for(int i = 0; i < spisokFilov.size(); i++) {
reader1 = new BufferedReader(new FileReader(spisokFilov.get(i)));
String soderzhanieFailov = null;
String cifra = null;
for(int c = (spisokFilov.get(i).length()-1); c >= 0;c--)
{
if(spisokFilov.get(i).charAt(c) == 't') {cifra = spisokFilov.get(i).substring(i+1);break;}
}
int index = Integer.parseInt(cifra);
StringBuilder stringBuilder = new StringBuilder();
while ((soderzhanieFailov = reader1.readLine()) != null) {
stringBuilder.append(soderzhanieFailov + "\n");
}
soderzhanieFailov = stringBuilder.toString();
map.put(index,soderzhanieFailov);
}
reader1.close();
//ЗАЗИБИЛ МАП НАЗВАНИЯМИ ФАЙЛОВ И СОДЕРЖИМЫМ ===========================
//======================================================================
//======================================================================
String easy = spisokFilov.get(0);
for(int i = (easy.length()-1); i >=0 ; i--) {
if(easy.charAt(i) == '.') {
easy = easy.substring(0,i);
}
}
FileOutputStream fileOutputStream= new FileOutputStream(easy);
Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer,String> entry = iterator.next();
String value = entry.getValue();
byte[] baite = value.getBytes();
fileOutputStream.write(baite);
}
fileOutputStream.close();
}
}