黑马程序员技术交流社区

标题: 个人总结:怎样删除一个文件夹. [打印本页]

作者: 无言唯笑    时间: 2015-10-20 21:18
标题: 个人总结:怎样删除一个文件夹.
import java.io.File;
import java.util.Scanner;

public class Test2 {

        /**
         * 需求:从键盘接收一个文件夹路径,删除该文件夹.
         * 思路:分两步 第一步:
         * 1.1.创建一个方法,这个方法用来接收键盘录入对象并进行判断的。方法名为dun,返回值类型为File(因为键盘录入的是一个文件夹路径),
         * 参数列表为空(因为不需要从外面传什么东西进来)
         * 1. 2.创建键盘录入对象。
         * 1.3.创建File对象来接收键盘录入。
         * 1.4.判断是否是文件夹路径。如果是就返回File类型的参数。
         *  第二步:          
         * 2.1.创建一个方法,这个方法用来接收File对象的参数。方法名为fun,返回值了类型为void(因为只是删除东西,并不需要返回值啊),
         * 参数列表是File dir (将dun方法的参数传进来)。
         * 2.2.获取这个文件夹下的所有文件和文件夹。
         * 2.3.遍历并判断是否是文件,如果是就删除,如果不是,就使用递归的思想来递归调用。直到把所有文件都删完为止。
         * 2.4.在循环外把这个空的文件夹也删了。才能做到完全删除了。
         * 2.5.主方法中调用这两个方法。
         */
        public static void main(String[] args) {
                // 2.5.主方法中调用这两个方法。
                File dir = dun();
                fun(dir);
                System.out.println(dir.getName()+"文件夹已删除,谢谢使用!");
        }

        // 1.1.创建一个方法,这个方法用来接收键盘录入对象并进行判断的。方法名为dun,返回值类型为File(因为键盘录入的是一个文件夹路径),
        // 参数列表为空(因为不需要从外面传什么东西进来)
        public static File dun() {
                // 1.2.创建键盘录入对象。
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个需要删除的文件夹路径:");
                while (true) {
                        String line = sc.nextLine();
                        // 1.3.创建File对象来接收键盘录入。
                        File dir = new File(line); // 创建file对象.将line的数据传进去.
                        // 1.4.判断是否是文件夹路径。如果是就返回File类型的参数。
                        if (!dir.exists()) {
                                System.out.println("您输入的文件夹路径不存在,请输入文件夹路径:");
                        } else if (dir.isFile()) {
                                System.out.println("您输入的是文件路径,请输入文件夹路径:");
                        } else {
                                return dir;
                        }
                }
        }

        // 2. 1.创建一个方法,这个方法用来接收File对象的参数。方法名为fun,返回值了类型为void(因为只是删除东西,并不需要返回值啊),
        // 参数列表是File dir (将dun方法的参数传进来)。
        public static void fun(File dir) {
                // 2.2.获取这个文件夹下的所有文件和文件夹。
                File[] file = dir.listFiles();
                // 2.3.遍历并判断是否是文件,如果是就删除,如果不是,就使用递归的思想来递归调用。直到把所有文件都删完为止。
                for (File file2 : file) {
                        if (file2.isFile()) {
                                file2.delete();
                        } else {
                                fun(file2);
                        }
                }
                // 2.4.在循环外把这个空的文件夹也删了。才能做到完全删除了。
                dir.delete();
        }
}
作者: 与谁    时间: 2015-10-20 21:21
可以可以 全都粘贴过来吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2