2013-12-13 50 views
0

這個閱讀對象是我的代碼保存對象文件捕獲的IO異常,而從文件

public class GestorJogo implements Serializable { 

/** 
* 
*/ 
private static final long serialVersionUID = 7306138323877410801L; 
/** 
* 
*/ 

private Jogo _jogo; 

public void abrir(String nomeFicheiro){ 
     try{ 
      ObjectInputStream abre = new ObjectInputStream(new FileInputStream(nomeFicheiro)); 
      _jogo = (Jogo) abre.readObject(); 
      abre.close(); 
      System.out.println(_jogo); 
      } 
      catch(IOException e) { System.out.println("io exception");} 
      catch(ClassNotFoundException e){ System.out.println("no class available");} 
} 

}

我得到IO異常,而不是讀文件。有人可以幫我解決這個問題嗎?

+0

那麼,什麼是例外?打印出'e.toString()'的值併發布在這裏... – Ergin

+0

非常感謝!我忘了把一個類實現爲可序列化的! Noob錯誤。再次感謝! – user3100832

回答

0

構造函數ObjectInputStreamreadObject都會拋出IO異常。我首先設置一個斷點來確定究竟哪一行正在拋出異常。

還確認nomeFicheiro是一個正確的路徑和文件名組合。如果它只是文件名,而不是完整的路徑,那可以解釋發生了什麼。確保路徑存在,文件名在該位置。

它看起來像你投類型從readObject()返回到類型Jogo。我不是100%確定,但文件和內容是否需要正確映射到該自定義類型?我也會檢查一下。

希望這會有所幫助。

+0

謝謝!但我認爲一切都很好,我只是不知道爲什麼當我調用它捕獲IO異常的方法。 – user3100832