Java本地文件刪除和計算文件大小

public class filetest {
    public static void main(String[] agrs){
        File file = new File("file");

        System.out.println(countTotalFileSize(file));

//        //讀取目錄下的所有文件
//        File[] s = file.listFiles();
//        for (int i = 0; i < s.length; i++) {
//            System.out.println(s[i].getName());
//        }
        //deleteDir(file);
    }

    //遞歸刪除文件夾
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
           //遞歸刪除子目錄下的文件
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        // 目錄此時爲空,可以刪除
        return dir.delete();
    }
    //遞歸計算文件大小
    public static long countTotalFileSize(File file){
           if (file.isFile()){
               return file.length();
           }
           long total = 0;
           if (file.isDirectory()){
                File[] children = file.listFiles();
                for (int i = 0; i < children.length; i++) {
                    total += countTotalFileSize(children[i]);
                }

            }
           return total;
    }
}

發佈了141 篇原創文章 · 獲贊 36 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章