Вроде все логично, но не пропускает. Какой-то косяк с записью в первый файл. Возможно из буфера.
package com.javarush.task.task18.task1819;
/*
Объединение файлов
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File file1 = new File(reader.readLine());
File file2 = new File(reader.readLine());
// Read from 1 file to StringBuffer
BufferedInputStream inputStream1 = new BufferedInputStream(new FileInputStream(file1));
StringBuffer buffer = new StringBuffer();
while (inputStream1.available()>0) {
buffer.append( inputStream1.read());
}
inputStream1.close();
// Write to 1 file from 2 file and StringBuffer
BufferedOutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(file1));
BufferedInputStream inputStream2 = new BufferedInputStream(new FileInputStream(file2));
while (inputStream2.available()>0) {
outputStream1.write(inputStream2.read());
}
for (int i = 0; i < buffer.length(); i++) {
outputStream1.write((int)(buffer.charAt(i)));
}
inputStream2.close();
outputStream1.close();
}
}