package com.itheima;
/**
* 第9题:编写程序,将指定目录下所有.java文件拷贝到另一个目录中,
* 并将扩展名改为.text。
* @author ***
*/
import java.io.*;
public class Test9 {
public static void main(String[] args) {
File orig=new File("E:/Eclipse/workspace/exam/src"); //源文件夹
File dest=new File("E:/Eclipse/workspace/exam/src/复制.java文件转为.text文件");//要复制过去的文件夹
findAndCopyJava(orig,dest);
}
public static void copy(File orig,File dest){ //用于改后缀后复制
BufferedReader buf = null;
PrintWriter out=null;;
try{
buf=new BufferedReader(new InputStreamReader(new FileInputStream(orig))); //读取流,提示阅读效率
out=new PrintWriter(dest+"\\"+orig.getName().replace(".java", ".txt")); // 把后缀改成.java,用Print流提升效率
}catch(IOException e){
System.out.println("文件orig或者dest异常");
}
String line=null;
try{
while((line=buf.readLine())!=null){
out.println(line);
}
}catch(IOException e){
}
finally{
try{
if(buf!=null)
buf.close();
if(out!=null)
out.close();
}catch(Exception e2){
}
}
}
public static void findAndCopyJava(File orig,File dest){ //
if(!dest.exists()){ //不存在就创建目的目录,但是这个地址有可能是一个绝对地址。
dest.mkdir();
}
if(!dest.isDirectory()){ //所以再次判断存在的文件是否是一个目录,而不是文件。
dest.mkdir();
}
File[] files=orig.listFiles();
for(File file: files){ //遍历files
if(file.isDirectory()){
findAndCopyJava(file,dest); //递归,一直到file是一个文件而不是目录。
}
else if(file.getName().endsWith(".java")){
copy(file,dest);
}
}
}
}
|