В FileOutputStream второй параметр отвечает за то, что он не перезаписывает файл, а добавляет в него то, что мы хотим записать. В этой задаче я не ставил вторым параметром в конструкторе true. Вопрос: когда я записываю сначала второй файл у нас удаляется то, что было там изначально(что и логично), а потом, когда я записываю содержимое первого файла, не перезаписывается то, что я записал только что из второго файла. Это потому что мы записываем это одним и тем же потоком? fileOutputStream.write(bytes1); - тут затираем то, что было в файле изначально и записываем содержимое 2ого. fileOutputStream.write(bytes); - тут записываем 1ый, но то, что мы только что записали не перетирается.