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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wudigod12 中级黑马   /  2015-7-24 00:33  /  1316 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

将用户输入在控制台上的指定路径下所有的.txt文件复制到c盘下随意目录(你可以自己指定路径)并在复制后将.txt后缀名更改成.java后缀名


package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test7 {
        public static void main(String[] args)throws IOException{
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
               
                String str = br.readLine();
               
                //源目录
                File dir = new File(str);
                //目标目录
                File dest = new File("c:\\hello");
                read(dir,dest);
        }
       
        public static void read(File dir,File dest) throws IOException{
                //判断目标目录是否存在,不存在则创建
                if(!dest.exists())
                        dest.mkdir();
                //判断目标目录是否是目录,不是则创建
                if(!dest.isDirectory())
                        dest.mkdir();
               
                File[] files = dir.listFiles();
                for(File file : files){
                        if(file.isDirectory())
                                //如果此File对象是目录,递归进入目录
                                read(file,dest);
                        else{
                                //判断是否是txt类型文件
                                if(file.getName().endsWith(".txt")){
                                        BufferedReader br = new BufferedReader(new FileReader(file));
                                        //将txt文件复制到目标目录, 并更改扩展名
                                        PrintWriter pw = new PrintWriter(new FileWriter(dest.getAbsolutePath() +File.separator + file.getName().replace(".txt", ".java")));
                                        String line = null;
                                        while((line=br.readLine()) != null){
                                                pw.println(line);
                                        }
                                        br.close();
                                        pw.close();
                                }
                        }
                }
        }
}


9 个回复

正序浏览
谢谢楼主,谢谢分享
回复 使用道具 举报
厉害 加油!!
回复 使用道具 举报
谢楼主。。。。
回复 使用道具 举报
评论后收藏,学习
回复 使用道具 举报
我还以为很简单,原来想问题要想这么全
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
收到了,谢谢分享
回复 使用道具 举报
学到了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马