Java检查文件是否为空:IOException:null

Java检查文件是否为空:IOException:null

问题描述:

我想将文件加载到我的ArrayList中,如果文件不存在,程序会创建一个文件。我得到IOException:空,因为在开始文件是空的。如何避免该错误并检查文件是否为空?这里是我的代码:Java检查文件是否为空:IOException:null

 File f = new File(fileName); 

    try { 
     if(!f.exists()){ 
      f.createNewFile(); 
     } 

     inputStream = new ObjectInputStream(new FileInputStream(f)); 
     scores = (ArrayList<Score>) inputStream.readObject(); 
    } catch (IOException e) { 
     System.out.println("IO Error: " + e.getMessage()); 
    } finally { 
     ... 
    } 
+0

什么是您的文件名 – 2013-05-09 11:35:22

使用File.length()获取该文件的字节大小数:

的长度,以字节为单位,此抽象路径名表示的文件,或者0L如果文件不存在。某些操作系统可能会返回0L,表示与系统相关的实体(如设备或管道)的路径名。

+0

TNX,这就是我一直在寻找 – NGix 2013-05-09 11:44:07

在我看来,你的程序需要调整的次要比特,那么就不会尝试加载空文件

File f = new File(fileName); 

    try { 
     if(f.length() == 0){ 
      f.createNewFile(); 
     } else { 
      inputStream = new ObjectInputStream(new FileInputStream(f)); 
      scores = (ArrayList<Score>) inputStream.readObject(); 
     } 
    } catch (IOException e) { 
     System.out.println("IO Error: " + e.getMessage()); 
    } finally { 
     ...