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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘彦宗 中级黑马   /  2015-10-25 00:28  /  695 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一种:
可以读取任何类型的文件
  1. public static void copy(String src, String des){
  2.                 FileInputStream fis = null;
  3.                 FileOutputStream fos = null;
  4.                 try {
  5.                         File file1 = new File(src);
  6.                         File file2 = new File(des);
  7.                         fis = new FileInputStream(file1);
  8.                         fos = new FileOutputStream(file2);
  9.                         byte[] b = new byte[1024];
  10.                         int len;
  11.                         while((len = fis.read(b,0,b.length))!=-1){//len是读到的字符数
  12.                                 fos.write(b,0,len);
  13.                         }
  14.                 } catch (Exception e) {
  15.                         e.printStackTrace();
  16.                 }finally{
  17.                         try {
  18.                                 if(fos!=null)
  19.                                         fos.close();
  20.                         }catch (Exception e) {
  21.                                 e.printStackTrace();
  22.                         }finally{
  23.                                 try {
  24.                                         if(fis!=null)
  25.                                                 fis.close();
  26.                                 } catch (Exception e) {
  27.                                         e.printStackTrace();
  28.                                 }finally{
  29.                                         System.out.println("复制完毕");
  30.                                 }
  31.                         }
  32.                 }
  33.         }
复制代码


第二种:
比较适合纯文本文件
  1. //每一个字符都有对应的编码 每一个编码不一定有相对应的字符所以char型只能读取文本;
  2.         public static void copy2(String src, String des){
  3.                 FileReader bufr = null;
  4.                 FileWriter bufw = null;
  5.                 try {
  6.                         bufr = new FileReader(src);
  7.                         bufw = new FileWriter(des);
  8.                         char[] b = new char[1024*1024*8];
  9.                         int len;
  10.                         while((len = bufr.read(b,0,b.length))!=-1){//len是读到的字符数
  11.                                 System.out.println(len);//4375507 6456312
  12.                                 bufw.write(b,0,len);
  13.                                 bufw.flush();
  14.                                 //bufw.close();
  15.                         }
  16.                 } catch (Exception e) {
  17.                         e.printStackTrace();
  18.                 }finally{
  19.                         try {
  20.                                 if(bufw!=null)
  21.                                         bufw.close();
  22.                         }catch (Exception e) {
  23.                                 e.printStackTrace();
  24.                         }finally{
  25.                                 try {
  26.                                         if(bufr!=null)
  27.                                                 bufr.close();
  28.                                 } catch (Exception e) {
  29.                                         e.printStackTrace();
  30.                                 }finally{
  31.                                         System.out.println("复制完毕");
  32.                                 }
  33.                         }
  34.                 }
  35.         }
  36. }
复制代码

1 个回复

倒序浏览
沙发,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马