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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓士林 高级黑马   /  2015-1-18 11:09  /  975 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

主要目的练习File类与FileWrite类的应用
  1. import java.io.*;
  2. class CopyDirectory
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 File srcFile = new File("E:\\test");
  7.                 File tarFile = new File("F:\\");
  8.                 copyDirectory(srcFile,tarFile);
  9.         }

  10.         private static void copyDirectory(File srcFile ,File tarFile)
  11.         {
  12.                 try
  13.                 {
  14.                         if(srcFile.isDirectory())
  15.                         {
  16.                                 tarFile = new File(tarFile,srcFile.getName());
  17.                                 tarFile.mkdir();
  18.                         }

  19.                         File [] files = srcFile.listFiles();
  20.                         if(files == null || files.length == 0)
  21.                                 return;
  22.                         for(int i=0;i<files.length;i++)
  23.                         {
  24.                                 File temFile = files[i];
  25.                                 if(temFile.isDirectory())
  26.                                         copyDirectory(temFile,tarFile);
  27.                                 else if(temFile.isFile())
  28.                                 {
  29.                                         FileReader fr = new FileReader(temFile);
  30.                                         String sFileName = temFile.getName();
  31.                                         File temTarFile = new File(tarFile,sFileName);
  32.                                         FileWriter fw = new FileWriter(temTarFile);
  33.                                         char [] bytes = new char[1024];
  34.                                         int len = 0;
  35.                                         while((len = fr.read(bytes)) != -1)
  36.                                         {
  37.                                                 fw.write(bytes);
  38.                                         }

  39.                                         //if(temTarFile.getName().endsWith(".java"))
  40.                                                 //System.out.println(temTarFile.renameTo(new File(temTarFile.getAbsoluteFile().getName().replace(".java",".txt"))));

  41.                                         try
  42.                                         {
  43.                                                 if(fr != null)
  44.                                                 {
  45.                                                         fr.close();
  46.                                                 }
  47.                                                 if(fw != null)
  48.                                                 {
  49.                                                         fw.close();
  50.                                                 }
  51.                                         }
  52.                                         catch (IOException ex)
  53.                                         {
  54.                                         }
  55.                                 }
  56.                         }
  57.                 }
  58.                 catch (IOException ex)
  59.                 {
  60.                         ex.getMessage();
  61.                 }               
  62.         }
  63. }

复制代码

2 个回复

倒序浏览
yang_zhi_xiang 来自手机 中级黑马 2015-1-18 11:41:28
沙发
好东西,必须顶
回复 使用道具 举报

共同学习啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马