У меня всего два вопроса: 1 - Почему в листинге 1 - int b1 = inputStream1.available() РАВЕН НУЛЮ? 2 - Почему валидатор принял неправильное решение как ВЕРНОЕ? Файл тупо перезатерся другим файлом.(см. листинг 2) Листинг 1
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File file1 = new File(reader.readLine());
File file2 = new File(reader.readLine());
FileInputStream inputStream1 = new FileInputStream(file1);
FileInputStream inputStream2 = new FileInputStream(file2);
FileOutputStream outputStream1 = new FileOutputStream(file1);
FileOutputStream outputStream2 = new FileOutputStream(file1, true);
ArrayList<Integer> list = new ArrayList<Integer>(100);
int b1 = inputStream1.available();
int b2 = inputStream2.available();
while (inputStream1.available() > 0){
    list.add(inputStream1.read());
}
while (inputStream2.available() > 0){
    outputStream1.write(inputStream2.read());
}
for (Integer integer : list) {
    outputStream2.write(integer);
}
outputStream1.close();
outputStream2.close();
inputStream1.close();
inputStream2.close();
Листинг 2
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        File file1 = new File(reader.readLine());
        File file2 = new File(reader.readLine());
        FileInputStream inputStream1 = new FileInputStream(file1);
        FileInputStream inputStream2 = new FileInputStream(file2);
        FileOutputStream outputStream1 = new FileOutputStream(file1);
//        FileOutputStream outputStream2 = new FileOutputStream(file1, true);
        ArrayList<Integer> list = new ArrayList<Integer>(100);
        int b1 = inputStream1.available();
        int b2 = inputStream2.available();
        while (inputStream1.available() > 0){
            list.add(inputStream1.read());
        }
        while (inputStream2.available() > 0){
            outputStream1.write(inputStream2.read());
        }
        for (Integer integer : list) {
            outputStream1.write(integer);
        }
        outputStream1.close();
//        outputStream2.close();
        inputStream1.close();
        inputStream2.close();