欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础 File 递归删除文件夹中所有文件文件夹

程序员文章站 2022-06-25 16:53:58
File 递归删除文件夹中所有文件文件夹 又写了一遍 找不同 ......

File 递归删除文件夹中所有文件文件夹

package com.swift.kuozhan;

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

/*键盘录入一个文件夹路径,删除该路径下的所有文件文件夹,包括自己。
要求:文件夹中包含有子文件夹*/

public class TheLat {

    public static void main(String[] args) {
        File dir = inputDir();
        delete(dir);
        
    }

    private static void delete(File dir) {
        for(File file:dir.listFiles()) {
            if(file.isDirectory()) {
                delete(file);
            }else {
                file.delete();
            }
        }
        dir.delete();
        System.out.println("整个文件夹及其中文件都被删除");
    }

    private static File inputDir() {

        System.out.println("请录入一个目录");
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        File file = new File(str);
        if (!file.exists()) {
            throw new RuntimeException("垓目录不存在!");
        }
        if (!file.isDirectory()) {
            throw new RuntimeException("输入的不是一个目录");
        }
        
        return file;
    }

}

又写了一遍

package com.swift.kuozhan;

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

/*键盘录入一个文件夹路径,删除该路径下的所有文件夹。
要求:文件夹中包含有子文件夹*/

public class TheLat {

    public static void main(String[] args) {
        File dir = inputDir();
        delete(dir);
        
    }

    private static void delete(File dir) {
        for(File file:dir.listFiles()) {
            if(file.isDirectory()) {
                delete(file);
            }else {
                boolean success=file.delete();
                if(success) {
                    System.out.println("文件删除成功.");
                }else {
                    System.out.println("正在使用,删除失败");
                }
            }
        }
        boolean success=dir.delete();
        if(success) {
            System.out.println("目录中的文件夹及其中文件都被删除");
        }else {
            System.out.println("文件夹正在使用,删除失败");
        }
    }

    private static File inputDir() {

        System.out.println("请录入一个目录");
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        File file = new File(str);
        if (!file.exists()) {
            throw new RuntimeException("垓目录不存在!");
        }
        if (!file.isDirectory()) {
            throw new RuntimeException("输入的不是一个目录");
        }
        
        return file;
    }

}

找不同