вы можете закидать меня Г@ВНИЦОВ, я понимаю что код жесткий, но в моём понимании он должен работать, но он не работает! в самом начале понятно, что создаю потоки для работы с файлами, далее соответственно идет блок while для чтения данных из первого файла, который будет работать до той поры пока i !=-1 после чего идет запись всех байтов из первого файла в ArrayList, дальше в цикле while идет условие if которое отработает, если i==-1,далее если условие выполняется в нём мы затираем данные в первом файле, после идет цикл while на чтение данных из второго файла и записи этих данных в первый файл(получается запись в пустой документ в начало файла как требует условие), после идет цикл for для записи данных из ArrayList в первый файл (получается начальные записи из первого документа выводим в конец первого документ опять же по условию). Ну и потоки все закрыл соответственно. Мне потоки вообще даются сложно, поэтому не ругайтесь!