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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张周飞 于 2014-10-22 18:10 编辑

    【  将E盘下某个文件中的全部内容(文本、MP3、文件夹等)复制到D盘下某个文件夹。】             分享敲多了想吐的一段代码:{:3_67:} 求指教...........................................  需要的自行 复制Eclipse中Ctrl+F11【运行】

  1. package com.vice.IO;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileOutputStream;
  8. import java.io.IOException;
  9. import java.io.InputStream;
  10. import java.io.OutputStream;

  11. /**
  12. * 将E盘下某个文件中的全部内容(文本、MP3、文件夹等)复制到D盘下某个文件夹。

  13. * @author Administrator
  14. *
  15. */
  16. public class IOCopy2 {

  17.          public static void main(String[] args) {
  18.                  
  19.                   //源文件
  20.                   File F1=new File("E:\\zuocao");
  21.                   
  22.                   //在【D:\\中联华水驱动、软件下】创建一个同名的一级目录
  23.                   File F2=new File("D:\\中联华水驱动、软件",F1.getName());    //F1.getName()获取文件/文件夹的名称:zuocao
  24.                   
  25.                   //创建目标文件夹     【 判断某个文件或目录是否存在】没有就创建文件夹
  26.                   if(!F2.exists()){  //这一步必须要有,否则系统出错-“系统找不到指定路径”
  27.                            F2.mkdirs();
  28.                   }
  29.                   
  30.               WriteReader(F1,F2);                  
  31.          }
  32.         
  33.          public static void WriteReader(File F1,File F2){
  34.                  
  35.                      File[] fliess=F1.listFiles(); //列出 [某文件夹中] 所有文件。
  36.                      for(File flie:fliess){
  37.                                               //每次遍历时,都要在 目标文件夹 下【创建同名同级】文件夹或者文件
  38.                                      File NewF2=new File(F2,flie.getName());
  39.                                     
  40.                                     //遍历到的文件:判断---[ 是否文件夹 或者文件 ]
  41.                                      if(flie.isDirectory()){   //判断是否为文件夹                                             
  42.                                                  //如果是文件夹,就在目标文件夹下创建同名同级文件夹
  43.                                                 if(!NewF2.exists()){
  44.                                                               NewF2.mkdir();         
  45.                                                 }
  46.                                                 WriteReader(flie,NewF2);                                             
  47.                                      }else{
  48.                                               try {
  49.                                                         BufferedInputStream BIS=new BufferedInputStream(new FileInputStream(flie));     //读取     输入流
  50.                                                                     BufferedOutputStream BOS=new BufferedOutputStream(new FileOutputStream(NewF2));  //写入     输出流
  51.                                                                     
  52.                                                                     //固定格式:
  53.                                                                     byte[] bytes=new byte[1500];
  54.                                                                     int len=-1;
  55.                                                                     while((len=BIS.read(bytes))!=-1){
  56.                                                                             BOS.write(bytes,0,len);
  57.                                                                     }
  58.                                                                          //关闭流
  59.                                                                     BOS.flush();
  60.                                                                     BIS.close();
  61.                                                                     BOS.close();
  62.                                                                     System.out.println("------------复制成功---------------");
  63.                                                           } catch (FileNotFoundException e) {
  64.                                                                        e.printStackTrace();
  65.                                                           }catch (IOException e) {
  66.                                                                        e.printStackTrace();
  67.                                                           }                  
  68.                                     }
  69.                                       
  70.                              
  71.                      }
  72.          
  73.     }
  74.          
  75. }
复制代码





评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
大神你好。。。。
回复 使用道具 举报
suoxidong 来自手机 中级黑马 2014-10-22 21:14:38
藤椅
谢谢了加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马