黑马程序员技术交流社区

标题: 入学测试之指定目录下指定类型文件的拷贝 [打印本页]

作者: 914360849    时间: 2015-5-23 23:19
标题: 入学测试之指定目录下指定类型文件的拷贝
package com.itheima;

/*
*
* 9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt


*/
import java.io.*;
public class Test9 {

        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub

                //定义目录
                File dir=new File("c:");
        //筛选.JAVA文件
                File[] name=dir.listFiles
                (
                        new FilenameFilter()
                         {
                                public boolean        accept(File dir,String name)
                                 {
                                        if(name.endsWith(".java"))
                                                return true;
                                        else return false;
                                }
                         }       
                );
                //遍历筛选后的.java文件
                for(int i=0;i<name.length;i++)
                {        //打印找到的.java问见
                        System.out.println(name[i]);
                        //调用文件拷贝和更改后缀名方法
                        fileCopy(name[i]);
                       

                }
        }       
        //文件拷贝并更改后缀名
                public static void fileCopy(File f) throws Exception
                {        //文件读取流对象,并加入缓冲技术
                        FileReader fr=new FileReader(f);
                        BufferedReader bfr=new BufferedReader(fr);
                        //获取.java文件的文件名
                        String s1=f.toString();
                        String s2=s1.substring(3,s1.length()-5);
                        //文件写入流,加入缓冲技术
                        FileWriter fw=new FileWriter("d:\\"+s2+".txt");
                        BufferedWriter bfw=new BufferedWriter(fw);
                        String s="";
                        while((s=bfr.readLine())!=null)
                        {
                                bfw.write(s);
                                bfw.newLine();
                        }
                        //关闭流和缓冲流
                       
                        bfw.close();
                        fw.close();
                        fr.close();
                        bfr.close();
               
                }
       
}
//




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