Проверял в IDE-в 1 файл копируются остальные два, валидацию не проходит. Вообще, заметил, что валидатор часто корректно работающие программы не пропускает
package com.javarush.task.task18.task1818;
import java.io.*;
import java.util.*;
/*
1. Программа должна три раза считать имена файлов с консоли.
2. Для первого файла создай поток для записи. Для двух других - потоки для чтения.
3. Содержимое второго файла нужно переписать в первый файл.
4. Содержимое третьего файла нужно дописать в первый файл (в который уже записан второй файл).
5. Созданные для файлов потоки должны быть закрыты.
*/
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName1String = "";
String fileName2String = "";
String fileName3String = "";
try {//reads two file names
fileName1String = reader.readLine();
fileName2String = reader.readLine();
fileName3String = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
String fileNameregex = "([a-zA-Z]:)+((\\\\[a-zA-Z0-9а-яА-Я._ -]+)(\\\\)?)+";
if (fileName1String.matches(fileNameregex) && fileName2String.matches(fileNameregex) && fileName3String.matches(fileNameregex)) {
try {
FileOutputStream fileOutputStream1= new FileOutputStream(fileName1String,true);
FileInputStream fileInputStream2 = new FileInputStream(fileName2String);
FileInputStream fileInputStream3 = new FileInputStream(fileName3String);
if (fileInputStream2.available() >0) {
//читаем весь файл одним куском
byte[] buffer = new byte[fileInputStream2.available()];
int count = fileInputStream2.read(buffer);
//for (int i =buffer.length-1; i >=0; i--) {
fileOutputStream1.write(buffer);
// }
}
if (fileInputStream3.available() >0) {
//читаем весь файл одним куском
byte[] buffer = new byte[fileInputStream3.available()];
int count = fileInputStream3.read(buffer);
//for (int i =buffer.length-1; i >=0; i--) {
fileOutputStream1.write(buffer);
// }
}
fileOutputStream1.close();
fileInputStream2.close();
fileInputStream3.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}