package cn.io.file.demo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; /** * 编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下, * 并将原来文件的扩展名从.java改为.jad。 * @author zzh * */ public class CopyDemo { public static void main(String[] args) throws IOException { //1.关联文件 File src = new File("e:\\java"); File dest = new File("e:\\jad"); //2.得到文件下所有目录 //内部匿名类FilenameFilter String[] list = src.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { //为文件且以.java结尾 return new File(dir,name).isFile()&&name.endsWith(".java"); } }); for(String str : list){ File srcFile = new File(src,str); File destFile = new File(dest,str); //为了高效,封装数据 BufferedReader br = new BufferedReader(new FileReader(srcFile)); BufferedWriter bw = new BufferedWriter(new FileWriter(destFile)); String line = null; while((line=br.readLine())!=null){ bw.write(line); bw.newLine(); //换行 bw.flush(); //操作刷新缓冲区 } //释放资源 br.close(); bw.close(); } //得到e:\\jad下文件进行改名 String[] arr = dest.list(); for(String str : arr){ String newName = str.replace(".java", ".jad"); File oldFile = new File(dest,str); File newFile = new File(dest,newName); //重命名 oldFile.renameTo(newFile); } } }