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