黑马程序员技术交流社区

标题: 练习:复制指定文件夹下.java结尾文件,并修改后缀为.jad [打印本页]

作者: fmi110    时间: 2015-9-8 18:17
标题: 练习:复制指定文件夹下.java结尾文件,并修改后缀为.jad
a
  1. package test;

  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.io.FileWriter;
  7. import java.io.FilenameFilter;
  8. import java.io.IOException;

  9. public class CopyAndRename2 {

  10.         public static void main(String[] args) throws IOException {
  11.                 // TODO Auto-generated method stub
  12.                 File srcFile = new File("C:\\Users\\hyning\\Desktop\\day22_IO");
  13.                 File desFile = new File("C:\\Users\\hyning\\Desktop\\day22_IO\\copyFolder");
  14.                 if(!desFile.exists())
  15.                         desFile.mkdirs();
  16.                 File[] fs = srcFile.listFiles(new FilenameFilter() {
  17.                        
  18.                         @Override
  19.                         public boolean accept(File dir, String name) {
  20.                                 // TODO Auto-generated method stub
  21.                                 return new File(dir,name).isFile() && name.endsWith(".java");
  22.                         }
  23.                 });

  24.                 for(File f:fs){
  25.                         String outName = f.getName().replaceAll(".java", ".jad");
  26.                         File des = new File(desFile,outName);
  27.                         copyFile(f,des);
  28.                 }
  29.                 System.out.println("cope done!!");
  30.         }

  31.         private static void copyFile(File f, File des) throws IOException {
  32.                 // TODO Auto-generated method stub
  33.                
  34.                 BufferedReader br = new BufferedReader(new FileReader(f));
  35.                 BufferedWriter bw = new BufferedWriter(new FileWriter(des));
  36.                 String line = null;
  37.                 while((line = br.readLine())!=null){
  38.                         bw.write(line);
  39.                         bw.newLine();
  40.                         bw.flush();
  41.                 }
  42. //                释放资源
  43.                 br.close();
  44.                 bw.close();
  45.         }

  46. }
复制代码



作者: MilesMatheson    时间: 2015-9-8 22:33
学习了,突然感觉我自己写的好长,,,
作者: fmi110    时间: 2015-9-8 22:45
MilesMatheson 发表于 2015-9-8 22:33
学习了,突然感觉我自己写的好长,,,

主要我的省略了注释 和分析部分的内容
作者: MilesMatheson    时间: 2015-9-9 15:51
fmi110 发表于 2015-9-8 22:45
主要我的省略了注释 和分析部分的内容

我之前尝试着把copyFiles写成一个模块,没写成。
作者: fmi110    时间: 2015-9-9 20:17
MilesMatheson 发表于 2015-9-9 15:51
我之前尝试着把copyFiles写成一个模块,没写成。

想好哪些变量作为传递参数提出来就好办了




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