把一个文件夹下的包括子文件夹里的所有.java文件复制到另一个文件夹下面,并改名.txt
你参考下。。。- import java.io.*;
- import java.util.*;
- class CopyRename
- {
- public static void main(String[] args) throws IOException
- {
- //源文件夹
- File dir = new File("d:\\javademo");
-
- List<File> list = new ArrayList<File>();
-
- fileToList(dir,list);
-
- //目标文件夹
- File filedir = new File("d:\\hahha");
- if (!filedir.exists())
- filedir.mkdir();
- writeToFile(list,filedir);
-
- }
-
- //函数功能,把一个文件夹中包括子文件夹的所有.java文件存到dirlist集合中
- public static void fileToList(File dir,List<File> list)
- {
- File[] files = dir.listFiles();
- for(File file : files )
- {
- if (file.isDirectory())
- fileToList(file,list);
- else
- {
- if (file.getName().endsWith(".java"))
- list.add(file);
- }
- }
- }
-
- //函数功能,用IO字符流操作复制文件,并将.java文件改成.txt
- public static void writeToFile(List<File> list,File filedir) throws IOException
- {
-
-
- //遍历集合
- for (File file : list)
- {
- BufferedReader bufr = new BufferedReader(new FileReader(file));
- String newName = file.getName().replace(".java",".txt");
- BufferedWriter bufw = new BufferedWriter(new FileWriter(new File(filedir,newName)));
-
- String len = null;
- while ((len = bufr.readLine()) != null)
- {
- bufw.write(len);
- bufw.newLine();
- bufw.flush();
- }
-
- bufr.close();
- bufw.close();
- }
- }
- }
复制代码 |