现在的位置: 首页 > 综合 > 正文

编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下

2017年11月09日 ⁄ 综合 ⁄ 共 1167字 ⁄ 字号 评论关闭
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);
		}
	}
}

抱歉!评论已关闭.