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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

a
  1. package demo.io;

  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. //复制java文件并改名
  8. public class CopyAndRename {

  9.         public static void main(String[] args) throws Exception {
  10.                 File src = new File("f:\\Java review");
  11.                 File des = new File("F:\\复制文件并改名");
  12.                 des.mkdirs();
  13.                 copyFile(src,des); //复制函数如果运行的话,文件的重命名就失败为什么?
  14.                 rename(des);//把copyFile()函数屏蔽能运行成功,否则失败,就算文件已经存在也一样  为什么?
  15.                 System.out.println("改名完成...");
  16.         }

  17.         private static void rename(File des) {
  18.                 File[] files = des.listFiles();
  19.                 for(File f:files){
  20.                         if(f.isDirectory())
  21.                                 rename(f);
  22.                         else{
  23.                                 System.out.println(f.getPath());
  24.                                 String newName = f.getPath().replaceAll("java", "txt");
  25.                                 System.out.println(newName);
  26.                                 System.out.println(f.renameTo(new File(newName)));
  27.                         }
  28.                 }
  29.                
  30.         }

  31.         private static void copyFile(File src, File des) throws Exception {
  32.                 BufferedReader br = null;
  33.                 BufferedWriter bw = null;
  34.                 File[] files = src.listFiles();
  35.                 for(File f:files){
  36.                         if(f.isDirectory()){
  37.                                 File newSrc = new File(des+"\\"+f.getName());
  38.                                 System.out.println(newSrc);
  39.                                 System.out.println(newSrc.mkdirs());
  40.                                 copyFile(f,newSrc);
  41.                         }
  42.                         else if(f.getName().endsWith(".java")){
  43.                                 br = new BufferedReader(new FileReader(f));
  44.                                 bw = new BufferedWriter(new FileWriter(des+"\\"+f.getName()));
  45.                                 String line = null;
  46.                                 System.out.println(f);
  47.                                 while((line = br.readLine())!=null){
  48.                                         bw.write(line);
  49.                                         bw.newLine();
  50.                                         bw.flush();
  51.                                 }
  52.                                 System.out.println("done");
  53.                         }
  54.                 }
  55.                 if(null != br)
  56.                         br.close();
  57.                 if(null!=bw)
  58.                         br.close();
  59.         }

  60. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马