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 {
...
}
答
使用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 {
...
什么是您的文件名 – 2013-05-09 11:35:22