2013-12-13 53 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