刪除空目錄

2021-07-02 11:55:36 字數 858 閱讀 7761

專案需要遍歷兩個樹,以及其他一些引數生成一批excel 檔案樹,即:n級目錄+excel檔案。

為了提高建立檔案的效率,一開始,遍歷的過程中,就將乙個乙個excel檔案樹子節點先建立好(只是建立目錄,並沒有建立檔案),然後,開啟100多個執行緒,各自去查資料庫,建立相應的檔案。

單錶最多8w條資料,但總量有上億條,最終生成的檔案20mb;

理論上查詢資料庫的次數:166*7*2=2324次,就算每次查詢用時1秒,累計用時:2324/60=38分鐘;

如果,併發操作,那麼,不能一次性獲取所有資料,需要使用jdbc的fetch_size,查詢用時,會更長。

說這麼多,情況比較複雜,最終生成的很多目錄都是空的(沒有查詢到資料,就不建立excel檔案。但是,目錄已經建立好了)。

一開始不去建立目錄,就不會有這些破事,但,事情就是這樣,沒辦法

當然,文章的核心主旨還是要刪除空目錄

/**

* 遞迴刪除目錄下的所有空目錄

* * @param path 將要刪除的檔案目錄

* @param basepathstr 根目錄的字串,用來判斷遞迴是否結束

* @param flag 首次呼叫true,之後,都是false

* @throws ioexception

*/public static void deleteemptydir(path path,string basepathstr,boolean flag) throws ioexception

}else}}

}

@test

public void test1() throws ioexception

Linux刪除空目錄

今天整理東西。需要刪掉小於5m的檔案。乙個find就可以了 find type f size 5m exec rm f 然後需要刪掉所有的空目錄。沒想到簡單的命令,於是組合一下命令 bin bash filename rm empty dir.shfor i in find type d doif ...

Linux rmdir命令 刪除空目錄

和 mkdir 命令 建立空目錄 恰好相反,rmdir remove empty directories 的縮寫 命令用於刪除空目錄,此命令的基本格式為 root localhost rmdir p 目錄名 p 選項用於遞迴刪除空目錄。例 1 root localhost rmdir cangls ...

Linux rmdir命令 刪除空目錄

和 mkdir 命令 建立空目錄 恰好相反,rmdir remove empty directories 的縮寫 命令用於刪除空目錄,此命令的基本格式為 root localhost rmdir p 目錄名 p 選項用於遞迴刪除空目錄。例 1 root localhost rmdir cangls ...