Код выполняет задачу, но валидатор его не принимает.
package com.javarush.task.task18.task1819;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
Объединение файлов
*/
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String file1 = sc.nextLine();
String file2 = sc.nextLine();
sc.close();
String[] file1Lines = readFile(file1);
String[] file2Lines = readFile(file2);
doTask(file1, false, file2Lines, file1Lines);
}
static String[] readFile(String inFile){
List<String> lines = new ArrayList<>();
try(BufferedReader reader = new BufferedReader(new FileReader(inFile))){
String line;
while ((line = reader.readLine())!=null){
lines.add(line);
}
}catch (IOException e){
System.err.println("Ошибка при работе с файлами: " + e.getMessage());
}
return lines.toArray(new String[0]);
}
static void doTask(String outFile, boolean overwrite, String[]... fileLines){
try(FileWriter fileWriter = new FileWriter(outFile, overwrite)){
boolean firstLine = true;
for(String[] array: fileLines){
for(String line: array){
if(!firstLine)
fileWriter.write(System.lineSeparator());
fileWriter.write(line);
firstLine = false;
}
}
}catch (IOException e){
System.err.println("Ошибка при работе с файлами: " + e.getMessage());
}
}
}