用Java将数组数据写入二进制文件
我试图以二进制形式存储以下数组,并在之后将其读回:
private int[10] number;
private String[10] name;
private int[10] age;
将它们存储到二进制文件中,然后再读回的最佳方法是什么?每个数组的示例值如下:
number[0] = 1; name[0] = "Henry"; age[0] = 35;
因此,这些数据属于某种程度上的组合
编辑:基本上我想使用二进制文本文件存储变量(数组)中的数据,二进制是必须的,然后将数据读回。因此,简而言之,我希望有一种存储数据的方法,这样当我关闭应用程序时,数据不会丢失,并且可以在每个会话中检索
# 1 楼答案
您可以编写自定义编码器和解码器,例如,使用
String.getBytes()
将String
映射到byte[]
,然后使用OutputStream.write()
方法写入每个字节。问题是你所说的“最佳方式”是什么意思,因为:getBytes()
使用平台的默认字符集时,String
区域设置是什么李>String
可能很长或很短李>如果要在应用程序之外读取文件,那么Protobuf似乎是一个明智的选择。然而,对于Hello World应用程序来说,这是一种过分的杀伤力
最简单的方法是使用
ObjectOutputStream
和ObjectInputStream
,但这远远不够漂亮: