- import java.io.*;
- import java.util.*;
- public class Test9 {
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- File sou = new File("c:\\java"); //源目录
- File des = new File("c:\\txt"); //目的目录
- if(!des.exists())
- {
- des. mkdirs();
- }
- ArrayList<File> al = new ArrayList<File>();
- fileToList(sou, al);
- for(File file:al) //有一个文件就复制一次
- {
- writeToFile( des, file);
- }
-
- }
- public static void fileToList(File sou, ArrayList<File> al ) //源目录的文件名写到集合中
- {
- File[] files = sou.listFiles(); //把文件列到数组中,方便遍历
- for(File file:files)
- {
- if(file.isDirectory()) //如果是文件夹
- {
- fileToList(file,al); //递归调用,取出子目录里的文件
- }
- if(file.getName().endsWith(".java"))
- al.add(file);
- }
- }
- public static void writeToFile( File des,File file) throws IOException //把集合中文件写到目的目录中
- {
- BufferedReader bufr = new BufferedReader(new FileReader(new File(file.getAbsolutePath())));
- //创建文件的新方法 File file = new File(File 路径,String 文件名)
- BufferedWriter bufw = new BufferedWriter(new FileWriter(new File(des,file.getName().replace(".java", ".txt"))));
- String line = null;
- while((line = bufr.readLine())!=null)
- {
- bufw.write(line);
- bufw.newLine();
- bufw.flush();
- }
- bufw.close();
- bufr.close();
- }
- }
复制代码 |