统计
  • 建站日期:2021-03-10
  • 文章总数:518 篇
  • 评论总数:151 条
  • 分类总数:32 个
  • 最后更新:4月20日
文章 未分类

buffered高效字节流VS 基本字节流速度

梦幻书涯
首页 未分类 正文

package cn.itcast_06;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * 需求:把e:哥有老婆.mp4复制到当前项目目录下的copy.mp4中
 *
 * 字节流四种方式复制文件:
 * 基本字节流一次读写一个字节: 共耗时:117235毫秒
 * 基本字节流一次读写一个字节数组: 共耗时:156毫秒
 * 高效字节流一次读写一个字节: 共耗时:1141毫秒
 * 高效字节流一次读写一个字节数组: 共耗时:47毫秒
 */
public class CopyMp4Demo {
 public static void main(String[] args) throws IOException {
  long start = System.currentTimeMillis();
  // method1("e:哥有老婆.mp4", "copy1.mp4");
  // method2("e:哥有老婆.mp4", "copy2.mp4");
  // method3("e:哥有老婆.mp4", "copy3.mp4");
  method4("e:哥有老婆.mp4", "copy4.mp4");
  long end = System.currentTimeMillis();
  System.out.println("共耗时:" + (end - start) + "毫秒");
 }

 // 高效字节流一次读写一个字节数组:
 public static void method4(String srcString, String destString)
   throws IOException {
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
    srcString));
  BufferedOutputStream bos = new BufferedOutputStream(
    new FileOutputStream(destString));

  byte[] bys = new byte[1024];
  int len = 0;
  while ((len = bis.read(bys)) != -1) {
   bos.write(bys, 0, len);
  }

  bos.close();
  bis.close();
 }

 // 高效字节流一次读写一个字节:
 public static void method3(String srcString, String destString)
   throws IOException {
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
    srcString));
  BufferedOutputStream bos = new BufferedOutputStream(
    new FileOutputStream(destString));

  int by = 0;
  while ((by = bis.read()) != -1) {
   bos.write(by);

  }

  bos.close();
  bis.close();
 }

 // 基本字节流一次读写一个字节数组
 public static void method2(String srcString, String destString)
   throws IOException {
  FileInputStream fis = new FileInputStream(srcString);
  FileOutputStream fos = new FileOutputStream(destString);

  byte[] bys = new byte[1024];
  int len = 0;
  while ((len = fis.read(bys)) != -1) {
   fos.write(bys, 0, len);
  }

  fos.close();
  fis.close();
 }

 // 基本字节流一次读写一个字节
 public static void method1(String srcString, String destString)
   throws IOException {
  FileInputStream fis = new FileInputStream(srcString);
  FileOutputStream fos = new FileOutputStream(destString);

  int by = 0;
  while ((by = fis.read()) != -1) {
   fos.write(by);
  }

  fos.close();
  fis.close();
 }
}

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

这篇文章最后更新于2019-6-9,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
字节流读取中文可能出现的小问题:
« 上一篇
Vector和Arraylist的区别
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
Array

日历

热门文章