1. 程式人生 > >使用遞歸原理根據文件夾路徑,刪除文件夾

使用遞歸原理根據文件夾路徑,刪除文件夾

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刪除目錄是從虛擬機直接刪除而不走回收站,文件將無法恢復,因此在進行刪除操作的時需謹慎!

使用遞歸原理根據文件夾路徑,刪除文件夾