private String[] readfile(String filepath) throws FileNotFoundException, IOException {
      ......
      ......
      String[] fromFile=new String[fromList.size()];
        for(int j=0;j<fromList.size();j++){
         fromFile[j]=fromList.get(j);
        }
        for(int z=0;z<fromFile.length;z++){
         System.out.println("cccc:" +fromFile[z]);
        }
        return fromFile;
}
这是函数里面的内容,打印结果都正常,fromFile.length为3,返回应该是一个数组内容。然后在外面调用
String[] picFile=readfile(sPath);

System.out.println("picFile:" + picFile.length);
for(int p=0;p<picFile.length;p++)
{
System.out.println("aaaaa" + picFile[p]);
}
这里picFile.length变为了0,也就是调用的数组为空,后面也没有内容能打印出来了,这是怎么回事???
困扰我2天了,求助???

解决方案 »

  1.   

    sPath 的值是什么?
      

  2.   

    sPath是一个路径,这个值不重要,因为运行到readfile函数最后要返回前,数据都还是能打印出来的但是用了return fromFile后,再调用String[] picFile=readfile(sPath);
    获得的值就消失了,picFile.length值变为了0,这是我一直想不通的有哪些可能性导致会出现这样的问题????
      

  3.   

    String[] picFile=readfile(sPath);你应该在方法里打个断点看看你返回数据了么
      

  4.   

    for(int z=0;z<fromFile.length;z++){
            System.out.println("cccc:" +fromFile[z])
     }
     return fromFile;在return前都有数据的啊
      

  5.   


    把控制台的输出贴出来看看控制台的输出cccc:D:\20161204\SOAIMG\331001021\01577\33100102120161204094521892401001577000\33100102120161204094521892401001577001\0001.jpg
    cccc:D:\20161204\SOAIMG\331001021\01577\33100102120161204094521892401001577000\33100102120161204094521892401001577001\0002.jpg
    cccc:D:\20161204\SOAIMG\331001021\01577\33100102120161204094521892401001577000\33100102120161204094521892401001577001\0003.jpg
    picFile:0