A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 等待未来 中级黑马   /  2016-9-21 22:35  /  310 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package homeWork;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;

/*
* 从键盘接收一个文件夹路径, 删除该文件夹
*/
public class HomeWork {
        public static void main(String[] args) throws IOException {
                File dir = DirUtil.getDir();
                System.out.println("确定要删除 " + dir.getAbsolutePath() + " 吗? (Y/N)");
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                if (!"y".equalsIgnoreCase(br.readLine())) // 提示文件是不是真的要删除
                        return; // 结束程序
                delete(dir);
        }

        private static void delete(File dir) throws IOException {
                // 获取所有子文件
                File[] subFiles = dir.listFiles();

                // 遍历所有子文件
                if (subFiles != null)
                        for (File subFile : subFiles)
                                if (subFile.isFile())
                                        subFile.delete(); // 如果是文件就删除
                                else
                                        delete(subFile); // 如果是文件夹就递归 这里进入了子文件夹中

                // 所有子文件都删除之后, 删除当前文件夹
                dir.delete();
        }

        public static class DirUtil {

                public static File getDir() throws IOException {
                        BufferedReader br = new BufferedReader(new InputStreamReader(
                                        System.in));
                        System.out.println("请输入一个文件夹路径:");
                        while (true) {
                                File file = new File(br.readLine());
                                if (!file.exists()) // 如果不存在, 提示, 并重输
                                        System.out.println("该路径不存在, 请重新输入:");
                                else if (!file.isDirectory()) // 如果不是文件夹, 提示, 并重输
                                        System.out.println("您输入的不是文件夹路径, 请重新输入:");
                                else
                                        return file; // 如果存在, 并且是文件夹, 返回
                        }
                }

        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马