求一個目錄的大小案例

package com.sort;

import java.io.File;

public class FileSize {
    /*
     * 求一個文件夾的大小(文件夾裏還有文件夾和文件)
     * 最後求出的是文件夾的大小的總和
     */
    static long size=0;
    public static void main(String[] args) {
        //File裏的參數爲某個路徑下的一個文件夾
        File f=new File("D:\\java");
        long fileSize = fileSizes(f);
        System.out.println(fileSize);
    }
    public static long fileSizes(File name){
        //輸出name下的所有目錄及
        File[] listFiles = name.listFiles();
        for(File listFile:listFiles){
            //判斷是否是目錄
            boolean directory = listFile.isDirectory();
            if(directory){
                /*
                 * 如果是目錄,則遞歸調用方法並將當前目錄帶回繼續找
                 * 直到爲文件求出其大小
                 */
                fileSizes(listFile);
            }else{
                //疊加求出所有文件的總和
                size+=listFile.length();
            }
        }
        return size;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章