使用遞歸原理根據文件夾路徑,刪除文件夾
阿新 • • 發佈:2017-10-02
tca 目錄 static pack str 刪除文件夾 import col 是否
在實際開發中往往會有刪除某個目錄的需求,而如果直接刪除目錄程序會報錯,正確的刪除方式應該是先刪除該目錄裏的所有文件,再刪除該目錄。
本篇博文通過遞歸的方式將整個目錄以及其中的文件夾全部刪除,具體實例如以下代碼所示:
package cn.itcast.snake; import java.io.File; public class Example { public static void main(String[] args) { //創建一個代表目錄的file對象 File file = new File("F://sjk.txt");//調用deleteDir刪除方法 deleteDir(file); } public static void deleteDir(File dir) { //判斷傳入的File對象是否存在 if(dir.exists()) { //得到File數組 File[] files = dir.listFiles(); //遍歷所有的子目錄和文件 for(File file : files) {if(file.isDirectory()) { //如果是目錄,遞歸調用deleteDir() deleteDir(file); } else { //如果是文件,直接刪除 file.delete(); } } //刪除完一個目錄裏的所有文件後,就刪除這個目錄 dir.delete(); } } }
需要註意是,在java刪除目錄是從虛擬機直接刪除而不走回收站,文件將無法恢復,因此在進行刪除操作的時需謹慎!
使用遞歸原理根據文件夾路徑,刪除文件夾