JAVAは、ディスク内のすべての空のフォルダを削除するコードを実現しました。


実現コード一、

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){
					//                  ,    
					f1.delete();
				}
			}
		}
	}
	/**
 * 
 *                
 */
	public static void main(String[] args) {
		File f = new File("F:\\360CloudUI\\");
		new DelNullDir().ShowDir(f);
	}
}
実現コード二、

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               ,             ,      )
 * */
public class DelEmptyFolders {
  //         
  private static StringBuffer paths;
  //            
  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);
        //       0 ,                     ;      
        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("      ,  :"+(end-start)/1000+"  ,   :"+cnt+"      !
"); }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
").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の空のフォルダを削除する実現コードです。必要な友達は参考にしてください。