递归计算文件夹大小

import java.io.File;

public class recursion 
{
  public static void main(String[] args) throws Exception 
  {
      File file=new File("C:/Users/罗摩衔那/Desktop/aa");
       
      System.out.println(addFile(file));
  }

private static long addFile(File f)throws Exception
    {   
        //计数文件大小
        long count=0;
        boolean results=f.exists();//判断文件是否存在
        if(results)//如果存在
        {
            if(f.isFile())//如果是文件
            {
                count=f.length();//得到文件大小    
            }
            else {//否则是文件夹
                //遍历其中文件
                File[] lists=f.listFiles();
                for(File dir:lists) {
                       count+=addFile(dir);
                }    
            }    
            return count;
        }else
        {
            throw new Exception("文件异常!");
        }
    }

猜你喜欢

转载自www.cnblogs.com/zjm1999/p/10070048.html