題目
編寫一個 FileUtil ,提供方法 rmDir(String dir) 來刪除非空目錄中所有文件和子目錄,包括目錄本身。
java 代碼
首先得判斷,當前是一個目錄的話,進行遍歷其中的 File 對象。如果不是就直接刪除。
遍歷時如果判斷依然是一個目錄,就進行遞歸,如果不是就直接刪除。
public static void rmDir(String dir){
File file = new File(dir);
if(file.isDirectory()){
File[] files = file.listFiles();
if (files != null && files.length > 0){
for (File file1 : files) {
if(file1.isDirectory()){
rmDir(file1.getPath());
} else {
file1.delete();
}
}
} else {
file.delete();
}
} else {
file.delete();
}
}
測試
在 main 方法中:
rmDir("D:\\ideaProjects\\java-demo\\target\\classes\\files");