从文件读取Object时捕获IO异常

时间:2013-12-13 22:53:34

标签: exception 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异常而不是读取文件。有人可以帮我处理那个吗?

1 个答案:

答案 0 :(得分:0)

ObjectInputStream构造函数和readObject都可以抛出IO异常。我首先设置一个断点来确定究竟是哪一行抛出异常。

同时验证nomeFicheiro是否是正确的路径和文件名组合。如果它只是文件名而不是完整路径,那么可以解释发生了什么。确保路径存在且文件名位于该位置。

您似乎正在将从Object返回的readObject()类型转换为类型Jogo。我不是100%肯定,但文件和内容是否需要正确映射到该自定义类型?我也会检查一下。

希望这有帮助。