Hello,
My code works but the requirements fail no matter what i do.
Could someone help me?
package com.codegym.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Building a file
*/
public class Solution {
public static void main(String[] args) throws IOException {
TreeMap<Integer, String> files = GetList();
allToOne(files);
}
// Read strings and return a map
public static TreeMap<Integer, String> GetList() throws IOException {
TreeMap<Integer, String> files = new TreeMap<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true){
String readLine = reader.readLine();
if (readLine.equalsIgnoreCase("end")) break;
File file = new File(readLine);
String part = file.getName().split("\\.")[2];
files.put(Integer.parseInt(part.split("part")[1]),readLine);
}
reader.close();
return files;
}
// Copy all files to one
public static void allToOne(TreeMap<Integer, String> files) throws IOException {
File file = new File(files.get(1));
String[] name = file.getName().split("\\.");
String path = file.getParent().split("part")[0] + "\\" + name[0]+"."+ name[1];
BufferedWriter bw = new BufferedWriter(new FileWriter(path,true));
for (Map.Entry<Integer,String> pair: files.entrySet()) {
BufferedReader bfr = new BufferedReader(new InputStreamReader(new FileInputStream(pair.getValue())));
if (pair.getKey() != 1) bw.newLine();
while (bfr.ready()) bw.write(bfr.read());
bfr.close();
}
bw.close();
}
}