【问题标题】:How to write array of bytes to a binary file in Java如何在Java中将字节数组写入二进制文件
【发布时间】:2019-10-29 02:56:43
【问题描述】:

如何在 Java 中将字节数组b[i] 写入二进制文件。

我需要将这些字节写入“二进制文件”,以便以后使用十六进制编辑器 (AXE) 读取它。

有些读者可能对“二进制文件”感到困惑,我所说的二进制文件并不是指用零和一填充的文件,而是指机器可读的形式,如下所示: binary files in text editor

十六进制编辑器假设读取此数据,hex editor

据我了解,我需要将该数据字节流传输到文件中 有没有我可以用于此目的的命令。

任何代码将不胜感激。

【问题讨论】:

  • 听起来你需要一个DataOutputStream,或更现代的替代方案,如Files。有很多方法可以将二进制信息序列化/写入文件。

标签: java binary byte datacontext dataformat


【解决方案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();
    }          
}

【讨论】:

  • 推荐使用try-with-resources更新,大大简化了代码结构。 OP 可能使用 Java 7 或更高版本。
  • 你去。添加了尝试资源。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-05
  • 2016-05-08
  • 2011-05-29
  • 2015-09-04
相关资源
最近更新 更多