Java 之遞歸刪除目錄

Java 之遞歸刪除目錄java

1、思想數組

  必須從最裏層的文件開始刪除,使用遞歸刪除。大數據

2、源代碼:RecursiveDeleteDirectory.javaspa

 1 package cn.com.zfc.day016;
 2 
 3 import java.io.File;
 4 
 5 /**
 6  * @describe 遞歸刪除目錄
 7  * @author zfc
 8  * @date 2018年1月1日 上午8:44:55
 9  */
10 public class RecursiveDeleteDirectory {
11 
12     public static void main(String[] args) {
13         String directoryName = "F:\\大數據培訓軟件";
14         // 一、映射目錄文件
15         File directory = new File(directoryName);
16         // 二、調用方法
17         recursiveDeleteDirectory(directory);
18     }
19 
20     /**
21      * 刪除指定目錄下面的文件名稱,包括子目錄
22      * 
23      * @param directoryName:目錄名稱
24      * @author zfc
25      * @date 2018年1月1日上午8:46:08
26      *
27      */
28     public static void recursiveDeleteDirectory(File directory) {
29         // 一、判斷映射的目錄文件是否存在?
30         if (!directory.exists()) {
31             // 不存在則直接返回
32             return;
33         }
34         // 二、判斷是不是目錄?
35         if (!directory.isDirectory()) {
36             // 不是目錄,判斷是不是文件?
37             if (directory.isFile()) {
38                 System.out.println("是文件,文件絕對路徑:" + directory.getAbsolutePath() + ",刪除文件:" + directory.delete());
39             }
40         } else {
41             // 是目錄,獲取該目錄下面的全部文件(包括目錄)
42             File[] files = directory.listFiles();
43             // 判斷 files 是否爲空?
44             if (null != files) {
45                 // 遍歷文件數組
46                 for (File f : files) {
47                     // 判斷是不是目錄?
48                     if (f.isDirectory()) {
49                         // 是目錄,則遞歸目錄
50                         recursiveDeleteDirectory(f);
51                     } else {
52                         // 不是目錄,判斷是不是文件?
53                         if (f.isFile()) {
54                             System.out.println("是文件,文件絕對路徑:" + f.getAbsolutePath() + ",刪除文件:" + f.delete());
55                         }
56                     }
57                 }
58             }
59             System.out.println("是本次最外層目錄,目錄的絕對路徑:" + directory.getAbsolutePath() + ",刪除目錄:" + directory.delete());
60 
61         }
62     }
63 }

3、運行結果code

相關文章
相關標籤/搜索