java 问题求解,运行一下代码时,出现错误.这是什么情况,求高手指点,本人小菜一个

2025-01-04 09:50:48
推荐回答(3个)
回答1:

当前目录下,没有maze文件,所以
File file[]=dir.listFiles(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endsWith("maze");
}
});
这句执行后,file.length=0;
紧跟着下面一句 for语句也没有执行,那么mazeFile=new File(file[0].getName());
自然就越界了,
添加以maze结尾的文件就行了,或者mazeFile=new File(file[0].getName());前添加if判断语句吧

回答2:

数组越界
File file[]=dir.listFiles(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endsWith("maze");
}
});
仔细看看这里 是不是全过滤掉了

回答3:

mazeFile=new File(file[0].getName());

改为
if(file.length>0)
mazeFile=new File(file[0].getName());