Всем привет!
У меня ни один пункт, кроме первого не проходит валидацию. Подскажите пожалуйста, что делаю не так.
1. Программа должна считывать имена файлов с консоли, пока не будет введено слово "end".
2. Создай поток для записи в файл без суффикса [.partN] в папке, где находятся все считанные файлы.
3. В новый файл перепиши все байты из файлов-частей *.partN.
4. Чтение и запись должны происходить с использованием буфера.
5. Созданные для файлов потоки должны быть закрыты.
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String filename;
ArrayList<String> list = new ArrayList<String>();
int data;
while (!(filename = reader.readLine()).equals("end")) {
list.add(filename);
}
Collections.sort(list);
BufferedWriter bw = null;
FileWriter fw = null;
fw = new FileWriter(filename.substring(0,filename.lastIndexOf(".")));
bw = new BufferedWriter(fw);
for (int i = 0; i < list.size(); i++) {
FileReader in = new FileReader(list.get(i));
BufferedReader br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
}
in.close();
br.close();
}
fw.close();
bw.close();
}
}
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));
String filename;
ArrayList<String> list = new ArrayList<String>();
int data;
while (!(filename = reader.readLine()).equals("end")) {
list.add(filename);
}
Collections.sort(list);
BufferedWriter bw = null;
FileWriter fw = null;
fw = new FileWriter(filename.substring(0,filename.lastIndexOf(".")));
bw = new BufferedWriter(fw);
for (int i = 0; i < list.size(); i++) {
FileReader in = new FileReader(list.get(i));
BufferedReader br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
}
in.close();
br.close();
}
fw.close();
bw.close();
}
}