Задачу решил. Были проблемы с BufferedOutputStream. Запись через него всегда создавала пустой файл. Переделал на FileOutputStream и всё заработало. С чем это связано?