经过一些谷歌搜索,我认为最好在这里提出这个问题;
尝试编写一个从.txt文件中读取双精度值的程序(没问题),将它们写入二进制文件,然后(从二进制文件)读回它们。
我为此使用 FileInputStream/FileOutputStream,我认为这是错误的方法(但我对此非常绿色,只指示这两个)
但是这些方法只读取/写入 int 值,或者更正确,附加/返回的 int 的前 8 位。
我知道双精度是 64 位,所以这立即反对一个问题。如果我使用错误的类,我很乐意更改它们。
干杯!
虽然并非不可能,但为此任务使用相对原始的流并不是最简单的方法。 RandomAccessFile 具有 writeDouble/readDouble 方法,我认为这些方法完全可以满足您的需求 - 即,在文件中"这样"转储原始值并读回它们。
FileOutputStream 包装在 ObjectOutputStream 中,将 FileInputStream 包装在 ObjectInputStream 中。这些类具有编写/读取 Java 原语的方法。