黑马程序员技术交流社区

标题: 2.从控制台获取输入的文件目录然后将指定目录下的.java文件复制到D:/java文件夹中 [打印本页]

作者: feimingxuan    时间: 2016-6-15 01:01
标题: 2.从控制台获取输入的文件目录然后将指定目录下的.java文件复制到D:/java文件夹中
public class Demo_7 {

        public static void main(String[] args) throws Exception {
                System.out.println("请输入文件夹路径");
                Scanner sc = new Scanner(System.in);
                String as = sc.nextLine();
                // 定义原文件夹
                File sourceFolder = new File(as);
                // 定义复制的文件夹
                File destFolder = new File("D://java");
                if (sourceFolder.isFile()) { // 判断是不是文件
                        System.out.println("您输入的有误");
                } else if (!sourceFolder.exists()) {
                        System.out.println("您输入的指定文件夹不存在");
                } else {
                        method(sourceFolder, destFolder);// 调用
                }

        }

        public static void method(File sourceFolder, File destFolder)
                        throws Exception {
                // 判断destFolder 存不存在
                if (!destFolder.exists()) {
                        destFolder.mkdir();
                }
                // 获取原文件夹下所有文件 (夹)
                File[] file = sourceFolder.listFiles();
                // 遍历
                for (File thisfile : file) {
                        if (thisfile.isDirectory()) {
                                method(thisfile, destFolder);// 递归调用
                        } else if (thisfile.getName().endsWith(".java")) {
                                method2(thisfile, destFolder);// 读写它
                        }
                }

        }

        public static void method2(File thisfile, File destFolder) throws Exception {
                // 创建字符输入流对象
                FileReader reader = new FileReader(thisfile);
                BufferedReader br = new BufferedReader(reader);
                // 创建字符输出流对象
                // 获取名字
                File destFile = new File(destFolder, thisfile.getName());
                FileWriter writer = new FileWriter(destFile);

                BufferedWriter bw = new BufferedWriter(writer);
                String asd = "";
                while ((asd = br.readLine()) != null) {
                        bw.write(asd);
                }
                br.close();
                bw.close();
        }

}

作者: 52java    时间: 2016-9-12 01:02
6666666666666666




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