В обсуждении написано, что если поток не закрыть, а записать туда два раза разные массивы, то затирания данных в файле не произойдет, будет записываться последовательно, но в моем варианте второй буффер записывается в файл, а первый, который должен записаться после него - не записывается вовсе, помогите разобраться, пожалуйста
public static void main(String[] args) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String name1 = reader.readLine();
    String name2 = reader.readLine();

    FileInputStream inputStream1 = new FileInputStream(name1);
    FileOutputStream outputStream1 = new FileOutputStream(name1);
    FileInputStream inputStream2 = new FileInputStream(name2);

    byte[] buffer1 = new byte[inputStream1.available()];
    byte[] buffer2 = new byte[inputStream2.available()];
    inputStream1.read(buffer1);
    inputStream2.read(buffer2);
    outputStream1.write(buffer2);
    outputStream1.write(buffer1);


    inputStream1.close();
    outputStream1.close();
    inputStream2.close();
}