как всегда... всё работает, но ничего не пропускает)
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> files = new ArrayList<>();
/* files.add("C:\\Users\\noname\\Desktop\\t1.txt.part10");
files.add("C:\\Users\\noname\\Desktop\\t2.txt.part6");
files.add("C:\\Users\\noname\\Desktop\\t3.txt.part4");
files.add("C:\\Users\\noname\\Desktop\\Lion.avi.part2");
files.add("C:\\Users\\noname\\Desktop\\Lion.avi.part3");
files.add("C:\\Users\\noname\\Desktop\\Lion.avi.part5");
files.add("C:\\Users\\noname\\Desktop\\Lion.avi.part1");
C:\Users\noname\Desktop\Lion\Lion.txt
C:\Users\noname\Desktop\Lion\t1.txt.part10
C:\Users\noname\Desktop\Lion\t2.txt.part6
C:\Users\noname\Desktop\Lion\t3.txt.part4
*/
while (true) {
String s = reader.readLine();
if (s.equals("end")) break;
files.add(s);
}
reader.close();
int lastIndex = files.get(0).lastIndexOf("\\");
String address = files.get(0).substring(0, lastIndex);
Map<Integer, String> parts = new HashMap<>();
for (String value : files) {
int iPart = value.indexOf("part");
String s = value.substring(iPart + 4);
int part = Integer.parseInt(s);
parts.put(part, value);
}
File file = new File(address + "\\Lion.txt");
BufferedReader br = null;
BufferedWriter bw = new BufferedWriter(new FileWriter(file), 2048);
for (Map.Entry<Integer, String> pair : parts.entrySet()) {
br = new BufferedReader(new FileReader(pair.getValue()));
while (br.ready()) {
String line = br.readLine();
bw.write(line);
}
}
br.close();
bw.close();
}
}