【问题标题】:Java .bin file being written as a standard .txt fileJava .bin 文件被编写为标准 .txt 文件
【发布时间】:2020-03-18 04:38:29
【问题描述】:

我正在尝试编写一个将字符串写入 .bin 文件的程序,但由于某种原因,保存的文件是标准 .txt 文件的形式。我写了一个 .bin 和 .txt 文件用于与大字符串进行比较,它们的大小相同。 值得注意的是,我今天早些时候尝试过这个,当我写信给 .bin 时,在记事本中打开时是一堆不可读的字符,而且它的文件大小也比文本文件小。我如何再次实现这一目标?

import java.io.DataOutputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;

  public class Core
  {
    public static void main(String[] args) throws IOException
    {
        String outName = "myData.bin";

        byte[] b = "Hello world!".getBytes("UTF-8");
        DataOutputStream out = new DataOutputStream(new FileOutputStream(outName));
        out.write(b);
        out.close();
    }
}

【问题讨论】:

  • 文件扩展名与实际文件内容无关。这只是一个名字。您还应该了解有关Basic I/O 的更多信息。然后你就知道什么时候使用 DataOutputStream 什么时候不使用了。

标签: java file binary


【解决方案1】:

如果我理解正确,文本文件只是一种特定类型的二进制文件:https://www.thecrazyprogrammer.com/2018/05/difference-between-text-file-and-binary-file.html
当您编写文件时,您只使用文本,所以一切看起来都符合您的预期。当我尝试运行您的代码并插入一些随机字节时,我的计算机不知道使用什么程序来打开它,并显示了您所期待的奇怪字符

【讨论】:

  • 抱歉,这只是我误解了这种文件类型的工作原理。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
相关资源
最近更新 更多