这是我在文件中保存对象的代码
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异常,而不是读取文件。有人能帮我解决这个问题吗?
发布于 2013-12-14 07:10:57
ObjectInputStream构造函数和readObject都可以抛出IO异常。我首先设置一个断点来确定到底是哪一行抛出了异常。
还要验证nomeFicheiro是否为正确的路径和文件名组合。如果只是文件名,而不是完整路径,这就可以解释发生了什么。确保路径存在且文件名位于该位置。
看起来您正在将从readObject()返回的Object类型转换为Jogo类型。我不是百分之百确定,但是文件和它的内容需要正确地映射到那个自定义类型吗?我也会检查这一点。
希望这能有所帮助。
https://stackoverflow.com/questions/20577376
复制相似问题