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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.kxg.Buffer;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. public class TestDemo {
  8.         public static void main(String[] args) throws IOException {
  9.                 long start1 = System.currentTimeMillis();
  10.                 method1("a.txt", "1.txt");
  11.                 long end1 = System.currentTimeMillis();
  12.                 long time1 = (end1 - start1);

  13.                 long start2 = System.currentTimeMillis();
  14.                 method2("a.txt", "2.txt");
  15.                 long end2 = System.currentTimeMillis();
  16.                 long time2 = (end2 - start2);

  17.                 long start3 = System.currentTimeMillis();
  18.                 method3("a.txt", "3.txt");
  19.                 long end3 = System.currentTimeMillis();
  20.                 long time3 = (end3 - start3);

  21.                 long start4 = System.currentTimeMillis();
  22.                 method4("a.txt", "4.txt");
  23.                 long end4 = System.currentTimeMillis();
  24.                 long time4 = (end4 - start4);

  25.                 System.out.println("普通流一次一个字节:" + time1);
  26.                 System.out.println("普通流一次一个字节数组:" + time2);
  27.                 System.out.println("高效流一次一个字节:" + time3);
  28.                 System.out.println("高效流一次一个字节数组:" + time4);

  29.                 // 普通流一次一个字节:28725
  30.                 // 普通流一次一个字节数组:63
  31.                 // 高效流一次一个字节:59
  32.                 // 高效流一次一个字节数组:16
  33.         }

  34.         private static void method4(String srcString, String destString)
  35.                         throws IOException {
  36.                 // 高效字节流一次读写一个字节
  37.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  38.                                 srcString));
  39.                 BufferedOutputStream bos = new BufferedOutputStream(
  40.                                 new FileOutputStream(destString));

  41.                 byte[] by = new byte[1024];
  42.                 int len = 0;
  43.                 while ((len = bis.read(by)) != -1) {
  44.                         bos.write(by, 0, len);
  45.                 }
  46.         }

  47.         private static void method3(String srcString, String destString)
  48.                         throws IOException {
  49.                 // 高效字节流一次读写一个字节
  50.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  51.                                 srcString));
  52.                 BufferedOutputStream bos = new BufferedOutputStream(
  53.                                 new FileOutputStream(destString));

  54.                 int len = 0;
  55.                 while ((len = bis.read()) != -1) {
  56.                         bos.write(len);
  57.                 }
  58.         }

  59.         private static void method2(String srcString, String destString)
  60.                         throws IOException {
  61.                 // 一次读写一个字节数组
  62.                 FileInputStream fis = new FileInputStream(srcString);
  63.                 FileOutputStream fos = new FileOutputStream(destString);

  64.                 byte[] by = new byte[1024];
  65.                 int len = 0;
  66.                 while ((len = fis.read(by)) != -1) {
  67.                         fos.write(by, 0, len);
  68.                 }
  69.                 fis.close();
  70.                 fos.close();
  71.         }

  72.         private static void method1(String srcString, String destString)
  73.                         throws IOException {
  74.                 // 一次读写一个字节
  75.                 FileInputStream fis = new FileInputStream(srcString);
  76.                 FileOutputStream fos = new FileOutputStream(destString);

  77.                 int len = 0;
  78.                 while ((len = fis.read()) != -1) {
  79.                         fos.write(len);
  80.                 }
  81.                 fis.close();
  82.                 fos.close();
  83.         }
  84. }
复制代码

1 个回复

倒序浏览
木森 来自手机 中级黑马 2015-7-27 17:39:43
沙发
good好帖子,多谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马