您的位置:首页 > 编程语言 > Java开发

【java】获取指定文件夹大小

2017-10-07 21:52 429 查看
import java.io.File;

import java.text.DecimalFormat;

public class Test2 {
public static void main(String[] args) {
try {
long size = getFolderSize(new File("D:/迅雷下载"));
System.out.println(size);
System.out.println(formetFileSize(size));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static String formetFileSize(long file) { 

        DecimalFormat df = new DecimalFormat("#.00"); 

        String fileSizeString = ""; 

        if (file < 1024) { 

            fileSizeString = df.format((double) file) + "B"; 

        } else if (file < 1048576) { 

            fileSizeString = df.format((double) file / 1024) + "K"; 

        } else if (file < 1073741824) { 

            fileSizeString = df.format((double) file / 1048576) + "M"; 

        } else { 

            fileSizeString = df.format((double) file / 1073741824) + "G"; 

        } 

        return fileSizeString; 

    } 

public static long getFolderSize(File file){    
  

        long size = 0;    

        try {  

            File[] fileList = file.listFiles();     

            for (int i = 0; i < fileList.length; i++)     

            {     

                if (fileList[i].isDirectory())     

                {     

                    size = size + getFolderSize(fileList[i]);    

   

                }else{     

                    size = size + fileList[i].length();    

   

                }     

            }  

        } catch (Exception e) {  

            // TODO Auto-generated catch block  

            e.printStackTrace();  

        }     

       //return size/1048576;    

        return size;    

    } 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: