A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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. }
复制代码


4 个回复

倒序浏览
好题,只可惜没提前看见
回复 使用道具 举报
问的是什么意思呢??
回复 使用道具 举报
哎呀 晚上睡觉了
回复 使用道具 举报
谢谢 楼主分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马