Реализовал копирование при помощи буфера, но вот какая странность - если написать запись в одну строку, то в формируемом файле какой-то кривой текст (некорректная кодировка?) и валидатор выдавал ошибку.
dstFile1.write(srcFile.read(file1Buffer))
Если же написать это в 2 строки, то формируется нормальный файл и валидатор удовлетворен.
srcFile.read(file1Buffer);
dstFile1.write(file1Buffer);
Почему так происходит? На всякий случай логика получения буфера:
int srcFileSize = srcFile.available();
int dstFile2Size = srcFileSize/2;
int dstFile1Size = srcFileSize - dstFile2Size;
byte[] file1Buffer = new byte[dstFile1Size];