2012-06-18 17 views
0

我想設置保存爲雙重文件中的一個ArrayList。每當有新值時,應該將其添加到ArrayList中,而不刪除以前的值。我嘗試使用函數DataStream。可能嗎?如果可能的話,請讓我知道如何實現這一點。如何值的兩倍一個ArrayList保存在文件

+4

你應該看到Java序列化,反序列化 – Subin

+0

我沒那麼熟悉Java編程..你能給我一些更詳細? – user1453296

+2

對於這種問題,告訴我們你有什麼迄今所做始終是一個好主意 – YankeeWhiskey

回答

0

請參考下面的代碼。

private static String LFILE = "serial"; 

public static void updateFile(Double num) { 

    FileOutputStream fos = null; 
    ObjectOutputStream oos = null; 

    try{ 
     List<Double> list = getDoubles(); 
     list.add(num); 
     fos = new FileOutputStream(LFILE); 
     oos = new ObjectOutputStream(fos); 
     oos.writeObject(list); 

    }catch(Exception e){ 
     e.printStackTrace(); 
     try { 
      oos.close(); 
      fos.close(); 
     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 

    } 

} 

public static List<Double> getDoubles() { 

    FileInputStream fis = null; 
    ObjectInputStream ois = null; 
    List<Double> newList = new ArrayList<Double>(); 
    try { 
     fis = new FileInputStream(LFILE); 
     ois = new ObjectInputStream(fis); 

     newList = (ArrayList<Double>) ois.readObject(); 

    } catch (Exception ex) { 

     try { 
      fis.close(); 
      ois.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    return newList; 
} 
+0

謝謝你的幫助:) – user1453296

0

XStream的是一個Java庫,它支持保存/以XML格式發送對象。它使用起來很簡單。 XML是人類可讀的,因此可以很容易地檢查其修改或修改。

+0

可以選擇覆蓋舊的文件... – headgrowe

相關問題