我正在编写一些需要存储一些数据的代码:
double[] VERTS = {
0.000000, -7.350000, 21.750000,
0.000000, -9.145293, 21.750000
}
但是,我希望double [] VERTS数组位于外部文件中。这可能吗?
编辑:我怎么读回来?
提前致谢。
答案 0 :(得分:5)
这是DataOutputStream#writeDouble的作用。
new DataOutputStream(new FileOutputStream("file.txt")).writeDouble(1.02d);
Java> = 7 buffered解决方案,它将使用closing块处理try-with-resources资源:
try (DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("file.txt")))) {
for (double vert : VERTS) {
os.writeDouble(vert);
}
} catch (IOException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您所谈论的概念在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();
}
答案 2 :(得分:0)
您可以使用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();