java中如何获取指定文件夹大小 此文件夹有子文件夹,请附上代码教教小弟!谢谢

解决方案 »

  1.   

    可以用递归实现
     int getLength(File file){
       int len = 0;
      if (file.isFile){
        len += file.length();
         return len;
       }
      else { File [] file = listFile();
             for (int i = 0;i < file.length;i++){
              len += getLength(file[i]);
        }
            }
      return len;
    }我只是写了个大意,你改一下应该就可以了,
      

  2.   

    import java.io.*;
    public class TestBig{
    String info="";
    long info1;
    public void FileName(File f){
    if(f.isDirectory()){
    File[] a= f.listFiles();
    for(int i=0;i<a.length;i++){
    FileName(a[i]);
    }
    }else{
    File f2 =f.getParentFile();
    info1 +=f.length();
    info +=f2 +" "+f.getName()+" "+f.length()+" bytes "+"\n";
    }
    }
    public static void main(String[] args){
    TestBig tb = new TestBig();
    File f1 = new File(args[0]);
    tb.FileName(f1);
    System.out.println(tb.info+" "+"all is "+tb.info1);
    }
    }