2016-02-29 86 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();