2012-06-21 44 views
0

此代碼是一個可以將double值以double []形式保存到文件的部分。我想使用保存的值繪製折線圖。它應該是'雙[]'形式。我怎樣才能讀取保存的值'doublelist'?從文件中讀取double []值

- 這是我修復的新代碼。 「double [] value =(double [])ois.readObject();」中存在錯誤「線。 它說 '重複的局部變量值'

public static double[] getValue(){ 
    FileInputStream fis = null; 
    ObjectInputStream ois = null; 
    List<Double> newList = new ArrayList<Double>(); 
    double[] value; 
    try { 
     fis = new FileInputStream("user_data.txt"); 
     ois = new ObjectInputStream(fis); 

     double[] value = (double[]) ois.readObject(); 

    } catch (Exception ex) { 

     try { 
      fis.close(); 
      ois.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    return value; 
} 

回答

0

getDoubles()變化:

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

double[] doubles = (double[]) ois.readObject(); 
newList = new ArrayList<Double>(doubles.length); 
for (Double d : doubles) { 
    newList.add(d); 
} 

主要的問題在這裏是不存在一個非常方便的方式來轉換和基元數組(在這種情況下爲double)轉換爲對象數組(在這種情況下爲Double)。

+0

我想我已經在我上傳的代碼中以double []形式保存了值。現在,我想要的是以相同的形式讀取數據(double [])。 – user1453296

+0

這確實在第一行:'double [] doubles =(double [])ois.readObject();' –

+0

對不起,您的代碼令我困惑,因爲在您發佈的代碼中,您正在讀取和寫入相同文件格式不同。 –