2012-06-21 32 views
0

我正在嘗試從已保存的文件中讀取數據。此代碼是讀取數據「值」的一部分。但是編譯器說最後一部分'返回值'有錯誤。它說'價值不能作爲一個變量來解決'。我該怎麼辦?從文件中讀取已保存的數據

public static double[] getValue(){ 
    FileInputStream fis = null; 
    ObjectInputStream ois = null; 
    List<Double> newList = new ArrayList<Double>(); 
    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; 
} 
+1

你需要接受的答案 –

回答

2

你的問題是,你聲明Valuetry,所以外面不可見。試試這個:

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

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

    } catch (Exception ex) { 

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

它使另一個錯誤..它說'重複本地變量值'。 – user1453296

+0

@ user1453296再次檢查我的答案:您需要刪除'try'塊內的聲明 - 只在塊之前留下一個「double []」。在裏面,只需使用變量的名稱即可。 –

+0

哦,這是我的錯誤。現在它可以工作。非常感謝:) – user1453296

2

聲明try塊之外Value變量。順便說一句,使用value作爲名稱,而不是Value

double[] Value; 
try { 
     fis = new FileInputStream("user_data.txt"); 
     ois = new ObjectInputStream(fis); 

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

    } 
+0

它使另一個錯誤..它說'重複本地變量值'。 – user1453296

+0

這是我的錯誤。現在它工作:) – user1453296