java遞歸刪除指定文件夾下全部的文件和文件夾

直接上代碼,方便伸手黨ctrljava

package com.li.day08;

import java.io.File;
import java.util.Scanner;

/*
 * 刪除文件夾及子文件夾全部文件
 */
public class Test10 {
    public static void main(String[] args) {
        //用戶輸入路徑
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入路徑:");
        //建立File對象接收路徑
        File file = new File(scanner.nextLine());
        delete(file);
    }

    public static void delete(File file) {
        //判斷是否存在此文件
        if (file.exists()) {
            //判斷是不是文件夾
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                //判斷文件夾裏是否有文件
                if (files.length >= 1) {
                    //遍歷文件夾裏全部子文件
                    for (File file1 : files) {
                        //是文件,直接刪除
                        if (file1.isFile()) {
                            file1.delete();
                            System.out.println("成功刪除:" + file1.getAbsolutePath());
                        } else {
                            //是文件夾,遞歸
                            delete(file1);
                        }
                    }
                    //file此時已是空文件夾
                    file.delete();
                    System.out.println("成功刪除:" + file.getAbsolutePath());
                } else {
                    //是空文件夾,直接刪除
                    file.delete();
                    System.out.println("成功刪除:" + file.getAbsolutePath());
                }
            } else {
                //是文件,直接刪除
                file.delete();
                System.out.println("成功刪除:" + file.getAbsolutePath());
            }
        } else {
            System.out.println("文件不存在");
        }
    }
}
相關文章
相關標籤/搜索