Как записать массив байтов в двоичный файл в Java

Как записать массив байтов b[i] в бинарный файл на Java.

Мне нужно записать эти байты в «двоичный файл», чтобы иметь возможность прочитать его позже с помощью шестнадцатеричного редактора (AXE).

Некоторых читателей может смутить "бинарный файл", под бинарным файлом я имею в виду не файл, заполненный нулями и единицами, а машиночитаемую форму, примерно такую: бинарные файлы в текстовом редакторе

Шестнадцатеричный редактор должен читать эти данные, шестнадцатеричный редактор

Насколько я понимаю, мне нужно передать эти данные в файл. Есть ли команда, которую я мог бы использовать для этой цели.

Любой код будет оценен.


person alan    schedule 14.06.2019    source источник
comment
Похоже, вам нужен DataOutputStream или более современная альтернатива, такая как Файлы . Существует множество способов сериализации/записи бинарной информации в файлы.   -  person Austin Schäfer    schedule 14.06.2019


Ответы (1)


Просто напишите byte[] в FileOutputStream, указывающий на файл:

private static void writeBytesToFile(byte[] b, String f) {

    try (FileOutputStream out = new FileOutputStream(f)){
        out.write(b);
    }

    catch (IOException e) {
        e.printStackTrace();
    }          
}
person ariganis    schedule 14.06.2019
comment
Рекомендовать обновление с использованием try-with-resources, что значительно упрощает структурирование кода. OP, вероятно, использует Java 7 или выше. - person Austin Schäfer; 14.06.2019
comment
Ну вот. добавлена ​​попытка с ресурсами. - person ariganis; 14.06.2019