ArrayIndexOutOfBoundsException
数组下标越界。
单步跟踪你的数组

解决方案 »

  1.   

    ...
    String[] files=new String[3];
    files=transfer.split(" "); 
    ...
    应该在这里出错,split出的数组元素个数超过了files的元素个数,改成
    String[] files = transfer.split(" "); 
    试试
      

  2.   

    to hxzg001:原来就是那样写的,出同样的问题,我才改成先new的情况,也出同样的问题.
      

  3.   

    String[] file=fileName.split("_");file这个字符串数组没有分配内存.
      

  4.   

    System.out.println(files[1]);
    错误出现在这一行...this.fileName=files[0];之前加入一句看看查看一下数组的长度System.out.println(files.length);
      

  5.   

    public TransferInfo(String transfer)
        {
           String[] files=new String[3];
           files=transfer.split(" "); //最好改一下..这样不好..
           System.out.println("数组1:"+files.length);
           this.fileName=files[0];
           System.out.println(files[1]);//按你的写法,这里是没错的.
           this.Size=Long.parseLong(files[1]);
           this.transfer_Time=files[2];
           String[] file=fileName.split("_");
    //多加1句.
           System.out.println("数组2:"+file.length);
           this.CacheID=file[0];
           this.ChannelID=file[1];//也有可能在这里出错!
           this.date=file[2];
        }
      

  6.   

    to redex(cc)
    我怎样写给他分配内存呢?谢谢.