Всем приет! Буду благодарен за подсказку. Тестирую, результат выдает правильный. Но валидатор почти не одного пункта не принимает, предполагаю, что опть есть специфические условия, которые надо учесть может у кого будут варианты?
package com.javarush.task.task18.task1825;
/*
Собираем файл
*/
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Solution {
public static void main(String[] args) {
BufferedReader readConsole = new BufferedReader(new InputStreamReader(System.in));
HashMap<String,ArrayList<Integer>> fileNameParts = new HashMap<>();
String fileName;
File fileOut = null;
while (true) {
try {
//D:\Обучение\Java\Тестовые данные\Leo.txt.part1
fileName = readConsole.readLine();
if (fileName.equals("end")) break;
//System.out.println(fileName.split("\\.")[1]);
if (fileOut == null)
fileOut = new File(fileName.split("\\.")[0] + "." + fileName.split("\\.")[1]);
ArrayList<Integer> fileContent = new ArrayList<>();
//System.out.println(fileOut.toString());
File file = new File(fileName);
FileInputStream fileInputStream = new FileInputStream(file);
while (fileInputStream.available() > 0) {
fileContent.add(fileInputStream.read());
}
fileInputStream.close();
fileNameParts.put(fileName,fileContent);
} catch (FileNotFoundException e) {
//readConsole.close();
System.out.println("FileNotFound");
//break;
}
catch (IOException e) {}
}
try {
fileOut.getParentFile().mkdirs();
fileOut.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(fileOut);
for (int i = 0; i < fileNameParts.size(); i++) {
ArrayList<Integer> content = fileNameParts.get(fileOut.toString()+".part"+(i+1));
for (int j = 0; j < content.size(); j++) {
fileOutputStream.write(content.get(i));
}
}
fileOutputStream.close();
}
catch (IOException e) {}
}
}