这是我在文件中保存对象的代码
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 :(得分:0)
ObjectInputStream
构造函数和readObject
都可以抛出IO异常。我首先设置一个断点来确定究竟是哪一行抛出异常。
同时验证nomeFicheiro
是否是正确的路径和文件名组合。如果它只是文件名而不是完整路径,那么可以解释发生了什么。确保路径存在且文件名位于该位置。
您似乎正在将从Object
返回的readObject()
类型转换为类型Jogo
。我不是100%肯定,但文件和内容是否需要正确映射到该自定义类型?我也会检查一下。
希望这有帮助。