1. 程式人生 > >遞迴刪除多級資料夾及檔案

遞迴刪除多級資料夾及檔案

實現刪除某個目錄刪除及該目錄裡面所有的子檔案和資料夾的功能

整體思路:
* 檔案存在
* 是檔案 –直接呼叫delete刪除
* 是資料夾–接收資料夾下file例項並遍歷
* 呼叫自身遞迴判斷
* 刪除空資料夾

import java.io.File;

/**
 * @author Administrator
 */
public class DiGuiTest
{
    public static void main(String[] args)
    {
        File file = new
File("F://test"); deletAllFiles(file); } /** *遞迴刪除檔案目錄及檔案 * @param file */ public static void deletAllFiles(File file) { if (file == null) { return; } //檔案目錄存在?(包括檔案及資料夾) if (file.exists()) { //是檔案?
if (file.isFile()) { System.out.println(file.getAbsolutePath()); file.delete(); } //是資料夾? else if (file.isDirectory()) { //接收資料夾目錄下所有的檔案例項 File[] listFiles = file.listFiles(); //資料夾為空 遞迴出口
if (listFiles == null) { return; } for (File file2 : listFiles) { //foreach遍歷刪除檔案 遞迴 deletAllFiles(file2); System.out.println("正在刪除資料夾 " + file.getAbsolutePath()); } //遞迴跳出來的時候刪除空資料夾 System.out.println("正在刪除資料夾" + file.getAbsolutePath()); file.delete(); } } } }