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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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


4 个回复

倒序浏览
学习了,突然感觉我自己写的好长,,,
回复 使用道具 举报
MilesMatheson 发表于 2015-9-8 22:33
学习了,突然感觉我自己写的好长,,,

主要我的省略了注释 和分析部分的内容
回复 使用道具 举报
fmi110 发表于 2015-9-8 22:45
主要我的省略了注释 和分析部分的内容

我之前尝试着把copyFiles写成一个模块,没写成。
回复 使用道具 举报
MilesMatheson 发表于 2015-9-9 15:51
我之前尝试着把copyFiles写成一个模块,没写成。

想好哪些变量作为传递参数提出来就好办了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马