刪除某個目錄及目錄下的所有子目錄和文件。File.delete()只能刪除某個文件或者空目錄!所以要刪除某個目錄及其所有子文件和子目錄,要進行遞歸刪除
代碼示例如下:
package com.harara.file.del; import java.io.File; /** * 刪除某個目錄及目錄下的所有子目錄和文件 * @author : harara * @version : 2.0 * @date : 2020/5/19 17:04 */ public class DelFiles { /** * 遞歸刪除 * 刪除某個目錄及目錄下的所有子目錄和文件 * @param file 文件或目錄 * @return 刪除結果 */ public static boolean delFiles(File file){ boolean result = false; //目錄 if(file.isDirectory()){ File[] childrenFiles = file.listFiles(); for (File childFile:childrenFiles){ result = delFiles(childFile); if(!result){ return result; } } } //刪除 文件、空目錄 result = file.delete(); return result; } public static void main(String[] args) { File file = new File("E:\\temp"); System.out.println("result:"+delFiles(file)); } }