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

  1. import java.io.BufferedInputStream;
  2. import java.io.BufferedOutputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;

  6. /**复制一个文件夹及里面的内容到指定目录
  7. * @author Administrator
  8. *
  9. */
  10. public class Test14 {

  11.         /**
  12.          * @param args
  13.          */
  14.         public static void main(String[] args) throws Exception {
  15.                 //目标文件夹对象f2,及要复制到的路径
  16.                 File f2=new File("d:\\java1");
  17.                 File f1=new File("f:\\2");
  18.                 //传参到功能函数复制
  19.                 copyFile(f2,f1);
  20.         }
  21.         public static void copyFile(File f2,File f1) throws Exception{
  22.                 //如果f2是文件夹
  23.                 if(f2.isDirectory()){
  24.                         //f1对象文件夹不存在
  25.                         if(!f1.exists()){
  26.                                 //生成一个文件夹
  27.                                 f1.mkdir();
  28.                                 //列出原文件夹下一层的对象
  29.                                 File[] fs=f2.listFiles();
  30.                                 //遍历对象
  31.                                 for(File f:fs){
  32.                                     //将对象的路径再封装成对象那个
  33.                                         File f2File=new File(f2,f.getName());
  34.                                         File f1File=new File(f1,f.getName());
  35.                                         //递归复制
  36.                                         copyFile(f2File,f1File);
  37.                                 }
  38.                                
  39.                         }
  40.                 //如果f2不是文件夹
  41.                 }else{
  42.                         //把文件f2复制到f1中
  43.                         BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f2));
  44.                         BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(f1));
  45.                         byte[] buf=new byte[1024];
  46.                         int len=0;
  47.                         while((len=bis.read(buf))!=-1){
  48.                                 bos.write(buf, 0, len);
  49.                                 bos.flush();
  50.                         }
  51.                         bis.close();
  52.                         bos.close();
  53.                 }
  54.         }

  55. }
复制代码

夜里睡不着,写个代码,骗两黑马币
如果有错误或更简单的代码,欢迎指教

0 个回复

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