永发信息网

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

答案:2  悬赏:60  手机版
解决时间 2021-05-05 03:25
  • 提问者网友:暗中人
  • 2021-05-04 14:13

import java.io.*;


public class DelDir
{

 
 public static void main(String[] args) throws IOException
 {
  // TODO Auto-generated method stub
    DelDir dd = new DelDir();
    dd.del(args[0]);
   
 }
 
 public void del(String string) throws IOException
 {
  File f = new File(string);//定义文件路径
  //判断是文件还是目录
  if (f.exists()&& f.isDirectory())
  {
   if (f.listFiles().length==0)
   {
    //若目录下没有文件则直接删除
    f.delete();
   }
   else
   {
    //若有则把文件放进数组,并判断是否下级目录
    File[] delFile = f.listFiles();
    for (int j=0;j<delFile.length;j++)
    {
     if (delFile[j].isDirectory())
     {
      //递归调用del方法并取得子目录路径
     del((delFile[j].getAbsolutePath()));
     }
     delFile[j].delete(); //删除文件
    }
   }
     del(string);//递归调用
  }
 }
}    请问这个错误怎么改呢

最佳答案
  • 五星知识达人网友:过活
  • 2021-05-04 15:50

数组下标超出定义范围。


有数组的地方有两处:


dd.del(args[0]);



if (delFile[j].isDirectory())
    {
    //递归调用del方法并取得子目录路径
    del((delFile[j].getAbsolutePath()));
    }
    delFile[j].delete(); //删除文件
从情况来看,不大可能是第二处,应该是第一处。


你执行java ****的时候,后面没有跟参数吧。

全部回答
  • 1楼网友:迷人又混蛋
  • 2021-05-04 17:16
数组越界 异常中有提示在哪一行
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯