黑马程序员 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。

来源:互联网 发布:linux etc opt 编辑:程序博客网 时间:2024/05/17 08:01

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

package it.cast.demo;



import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;


/**
 * 题目:
 *     编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,
 *     并将原来文件的扩展名从.java改为.jad。
 * 思路:
 *   1、判断d:\java目录是否存在,如果不存在new RuntimeException(我以其他目录代替d:\java和d:jad目录)
 *     2、列出d:\java下所有.java文件,其中用到文件过滤器
 *     3、判断d:\jad目录是否存在,不存在自己创建
 *     3、把文件扩展名改为.jad
 *     4、复制到d:\jad
 * */
public class Demo2 {
public static void main(String[] args) throws IOException{
File src=new File("F:"+File.separator+"test"+File.separator+"Java");
if(!(src.exists()&&src.isDirectory())){
throw new RuntimeException("要复制的文件不存在");
}
File[] files=src.listFiles(new FilenameFilter() {

@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
});
File dir=new File("property");
if(!dir.exists()){
dir.mkdir();
}
for (File temp : files) {
BufferedReader br=new BufferedReader(new FileReader(temp));
String filename=temp.getName().replaceAll("\\.java$", ".jad");
BufferedWriter bw=new BufferedWriter(new FileWriter(new File(dir,filename)));
copy(br,bw);
bw.close();
br.close();
}
}


public static void copy(BufferedReader br, BufferedWriter bw) throws IOException {
// TODO Auto-generated method stub
char[] buf=new char[1024];
int len=0;
while((len=br.read(buf))!=-1){
bw.write(buf, 0, len);
}
}

}

本题应用到IO流、文件过滤、正则、异常技术

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

详细请查看:www.itheima.com

0 0