2016-02-29 88 views
-2

我书面方式一些代码,需要存储这样一些数据:存储在外部文件中的双阵列和阅读它

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

不过,我想双[]数组VERTS是在外部文件。这可能吗?

编辑:我怎么读回来?

在此先感谢。

+2

数组存储在内存中。把它们放在你需要的文件中'Serialization' – Ramanlfc

+1

是的,这是可能的。有很多方法可以这样做。 – Raedwald

+0

询问谷歌。你将拥有一切。 :) –

回答

5

这就是DataOutputStreamwriteDouble呢。

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