實(shí)現(xiàn)代碼一、
創(chuàng)新互聯(lián)主營(yíng)廣西網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開發(fā),廣西h5微信小程序開發(fā)搭建,廣西網(wǎng)站營(yíng)銷推廣歡迎廣西等地區(qū)企業(yè)咨詢
import java.io.File; import java.io.*; public class DelNullDir { public void ShowDir(File f){ for (File f1:f.listFiles()){ if(f1.isDirectory()){ ShowDir(f1); //一直遞歸到最后的目錄 if(f1.listFiles().length==0){ //如果是文件夾里面沒有文件證明是空文件,進(jìn)行刪除 f1.delete(); } } } } /** * * 把磁盤中所有空的文件夾進(jìn)行刪除 */ public static void main(String[] args) { File f = new File("F:\\360CloudUI\\"); new DelNullDir().ShowDir(f); } }
實(shí)現(xiàn)代碼二、
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Date; /** * Description:遞歸方式,掃描并刪除磁盤中的空文件夾 *(C盤中的一些空文件夾是系統(tǒng)文件夾,刪除多次后空文件夾數(shù)量不變,則停止此程序) * */ public class DelEmptyFolders { //空文件夾的絕對(duì)路徑 private static StringBuffer paths; //本次掃描的空文件夾的數(shù)量 private static int cnt; public static void main(String[] args) { boolean flag = true; do{ cnt = 0; paths = new StringBuffer(); long start = new Date().getTime(); System.out.println("正在掃描......"); //要掃描的磁盤 File disk = new File("C:/"); //日志文件的位置 File log = new File("D:/scanLog_C.txt"); try { //掃描磁盤 scanEmptyFolders(disk); //空文件夾數(shù)大于0時(shí),將文件夾的絕對(duì)路徑記錄到日志中并再掃描一次;否則停止掃描 if(cnt > 0){ fileWrite(paths.toString(), log); }else{ flag = false; } } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } long end = new Date().getTime(); System.out.println("本次掃描完畢,耗時(shí):"+(end-start)/1000+" 秒,共刪除:"+cnt+" 個(gè)空文件夾!\n"); }while(flag); } /** * TODO:遞歸掃描空文件夾 * @throws UnsupportedEncodingException * */ private static void scanEmptyFolders(File file) throws UnsupportedEncodingException{ if(file != null && file.isDirectory()){ File[] files = file.listFiles(); //非空文件夾 if(files != null){ if(files.length > 0){ for (File temp : files) { scanEmptyFolders(temp); } }else{ System.out.println(file.getAbsolutePath()); //記錄日志 paths.append(new String((file.getAbsolutePath()+"\r\n").getBytes(),"UTF-8")); cnt++; //刪除空文件夾 file.delete(); } } } } /** * TODO:將字符串寫入文本文件 * @throws IOException * */ private static void fileWrite(String info,File file) throws IOException{ FileOutputStream fos = new FileOutputStream(file); BufferedOutputStream bos = new BufferedOutputStream(fos); bos.write(info.getBytes()); bos.flush(); bos.close(); fos.close(); } }
以上就是JAVA刪除空文件夾的實(shí)現(xiàn)代碼,需要的朋友可以參考一下。
分享文章:JAVA實(shí)現(xiàn)將磁盤中所有空文件夾進(jìn)行刪除的代碼
URL鏈接:http://jinyejixie.com/article34/pddpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、定制網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計(jì)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)