刪除某個目錄及目錄下的所有子目錄和文件。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));
}
}