我书面方式一些代码,需要存储这样一些数据:存储在外部文件中的双阵列和阅读它
double[] VERTS = {
0.000000, -7.350000, 21.750000,
0.000000, -9.145293, 21.750000
}
不过,我想双[]数组VERTS是在外部文件。这可能吗?
编辑:我怎么读回来?
在此先感谢。
我书面方式一些代码,需要存储这样一些数据:存储在外部文件中的双阵列和阅读它
double[] VERTS = {
0.000000, -7.350000, 21.750000,
0.000000, -9.145293, 21.750000
}
不过,我想双[]数组VERTS是在外部文件。这可能吗?
编辑:我怎么读回来?
在此先感谢。
这就是DataOutputStream#writeDouble呢。
new DataOutputStream(new FileOutputStream("file.txt")).writeDouble(1.02d);
一个Java> = 7 buffered解决方案将使用try-with-resources块采取的closing资源护理:
try (DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("file.txt")))) {
for (double vert : VERTS) {
os.writeDouble(vert);
}
} catch (IOException e) {
e.printStackTrace();
}
你所谈论的这个概念被称为Java中serialization
。
使用ObjectOutputStream
到对象写入文件:
try {
FileOutputStream fos = new FileOutputStream("output");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj); // write array obj to ObjectOutputStream
oos.close();
} catch(Exception ex) {
ex.printStackTrace();
}
您可以使用ObjectOutputStream
FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);
double[] VERTS = {
0.000000, -7.350000, 21.750000,
0.000000, -9.145293, 21.750000
};
oos.writeObject(VERTS);
oos.close();
数组存储在内存中。把它们放在你需要的文件中'Serialization' – Ramanlfc
是的,这是可能的。有很多方法可以这样做。 – Raedwald
询问谷歌。你将拥有一切。 :) –