黑马程序员技术交流社区

标题: 字节流的复制文件 [打印本页]

作者: 飞龙传神    时间: 2015-8-20 20:59
标题: 字节流的复制文件
复制文件
  步骤:
   a: 创建字节输入流和字节输出流对象
   b: 频繁的读写操作
   c: 释放资源
   
   // 第一次读取一个字节复制文件
   FileInputStream fis = new FileInputStream("a.txt") ;
   FileOutputStream fos = new FileOutputStream("b.txt") ;
   
   int by = 0 ;
   while((by = fis.read()) != -1){
    fos.write(by) ;
   }
   
   fos.close() ;
   fis.close() ;
   // 依次读取一个字节数组复制文件
   FileInputStream fis = new FileInputStream("a.txt") ;
   FileOutputStream fos = new FileOutputStream("b.txt") ;
   byte[] bytes = new byte[1024] ;
   int len = 0 ;
   while((len = fis.read(bytes)) != -1){
    fos.write(bytes , 0 , len) ;
   }
   fos.close() ;
   fis.close() ;
   
高效的字节输入流和字节输出流
  高效的字节输入流: BufferedInputStream
  高效字节输出流:   BufferedOutputStream

复制文件:
  // 一次读取一个字节复制文件
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt")) ;
  BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt")) ;
  
  int by = 0 ;
  while((by = bis.read()) != -1){
   bos.write(by) ;
  }
  
  bos.close() ;
  bis.close() ;
  
  // 依次读取一个字节数组复制文件
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt")) ;
  BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt")) ;
  
  byte[] bytes = new byte[1024] ;
  int len = 0 ;
  while((len = bis.read(bytes)) != -1){
   bos.write(bytes, 0, len) ;
  }
  
  bos.close() ;
  bis.close() ;






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