黑马程序员技术交流社区

标题: 把一个文件夹内后缀是.java的文件复制到另文件夹内 [打印本页]

作者: 小马范    时间: 2014-12-8 20:49
标题: 把一个文件夹内后缀是.java的文件复制到另文件夹内
  1. public class Test09 {

  2.         public static void main(String[] args) {
  3.                 ArrayList<File> arrList = new ArrayList<File>();
  4.                 //源文件躲在路径
  5.                 File file = new File("E:\\StudyFile");
  6.                 fileToList(file, arrList);
  7.                 writeToFile(arrList);

  8.         }

  9.         //把源文件后缀是.java的文件写到List集合内
  10.         public static void fileToList(File dir, List<File> list) {
  11.                 File[] files = dir.listFiles();
  12.                 for (File file : files) {
  13.                         if (file.isDirectory()) {
  14.                                 fileToList(file, list);
  15.                         } else {
  16.                                 if (file.getName().endsWith(".java")) {
  17.                                         list.add(file);
  18.                                 }
  19.                         }
  20.                 }
  21.         }

  22.         //把List集合内的文件写到目的文件夹e:\\targetFile
  23.         public static void writeToFile(List<File> list) {
  24.                 File targetFile = new File("e:\\targetFile");
  25.                 // 不存在则创建新目录
  26.                 if (!targetFile.exists()) {
  27.                         targetFile.mkdir();
  28.                 }
  29.                 BufferedReader bur = null;
  30.                 BufferedWriter buw = null;
  31.                 String s;
  32.                 for (File file : list) {
  33.                         try {
  34.                                 bur = new BufferedReader(new InputStreamReader(
  35.                                                 new FileInputStream(file)));
  36.                                 // 后缀名替换
  37.                                 String targetFileName = file.getName().replaceAll(".java",".txt");
  38.                                 buw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(targetFile,targetFileName))));
  39.                                 while ((s = bur.readLine()) != null) {
  40.                                         buw.write(s);
  41.                                         buw.newLine();
  42.                                         buw.flush();
  43.                                 }
  44.                         } catch (Exception e) {
  45.                                 System.out.println("写入目的文件失败!!!");
  46.                         }
  47.                         try {
  48.                                 bur.close();
  49.                                 buw.close();
  50.                         } catch (IOException e) {
  51.                                 System.out.println("关闭流失败!!");
  52.                         }
  53.                 }
  54.                 System.out.println("复制成功!");
  55.         }

  56. }
复制代码



作者: 钟伟    时间: 2014-12-12 09:26
好题,只可惜没提前看见
作者: 焦明坤    时间: 2014-12-21 20:34
问的是什么意思呢??
作者: l763631191    时间: 2014-12-22 00:46
哎呀 晚上睡觉了
作者: 斷灬dian    时间: 2014-12-27 10:51
谢谢 楼主分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2