黑马程序员技术交流社区

标题: 面试题 IO流:将E盘下某个文件中的全部内容(文本、MP3、文... [打印本页]

作者: 张周飞    时间: 2014-10-22 18:06
标题: 面试题 IO流:将E盘下某个文件中的全部内容(文本、MP3、文...
本帖最后由 张周飞 于 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. }
复制代码






作者: atlas    时间: 2014-10-22 18:07
大神你好。。。。
作者: suoxidong    时间: 2014-10-22 21:14
谢谢了加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2