在外部文件中存储双数组并读取它

时间:2016-02-29 18:00:32

标签: java

我正在编写一些需要存储一些数据的代码:

double[] VERTS = {
            0.000000, -7.350000, 21.750000,
            0.000000, -9.145293, 21.750000
}

但是,我希望double [] VERTS数组位于外部文件中。这可能吗?

编辑:我怎么读回来?

提前致谢。

3 个答案:

答案 0 :(得分:5)

这是DataOutputStreamwriteDouble的作用。

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();