我書面方式一些代碼,需要存儲這樣一些數據:存儲在外部文件中的雙陣列和閱讀它
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
詢問谷歌。你將擁有一切。 :) –