filesize(path);这句改成dirsize=dirsize+filesize(path);

解决方案 »

  1.   

    我又进行了改进,可是还是这次是只能取到根目录下和最后一个文件夹的文件总和,前面的文件夹取不到阿,改进如下:
    long filesize(String path){
    long dirsize = 0;
    long filesize = 0;
    long totalsize = 0;
    File temp_path = new File(path);
       File[] listfile = temp_path.listFiles();
       for (int i=1;i<listfile.length;i++)
       {
            if(listfile[i].isDirectory())
         {
    path = listfile[i].toString();
    dirsize  = dirsize + filesize(path);
      }
      else if(listfile[i].isFile())
      {
       filesize = filesize + listfile[i].length();
      }
      totalsize = dirsize + filesize;
    }

     return totalsize;
    }
      

  2.   

    改进后的和xiexueyan(基路亚)说的是一样的,可是为什么不能取到所有文件夹大小呢