java1234开源博客系统
博客信息

Java IO流-BufferedInputStream和BufferedOutputStream

0
发布时间:『 2017-01-07 13:57』  博客类别:Java核心基础  阅读(6133) 评论(0)

Java IO流-BufferedInputStream和BufferedOutputStream


带缓冲的输入和输出流;


这里缓冲的概念,就是在A,B之间建立内存缓冲区,读取得快,就先放缓冲区,然后再从缓冲区写入指定目标,和没有缓冲比,效率快很多。


我们给个实例比对下:

package com.java1234.chap10.sec03;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class Demo6 {

	/**
	 * 缓冲
	 * @throws Exception
	 */
	public static void bufferStream()throws Exception{
		// 定义了一个带缓冲的字节输入流
		BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("C://《一头扎进J2SE》V2.0视频笔录2.doc"));
		// 定义了一个带缓冲的字节输出流
		BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("C://复制的《一头扎进J2SE》V2.0视频笔录2.doc"));
		int b=0;
		long startTime=System.currentTimeMillis(); // 开始时间
		while((b=bufferedInputStream.read())!=-1){
			bufferedOutputStream.write(b);
		}
		bufferedInputStream.close();
		bufferedOutputStream.close();
		long endTime=System.currentTimeMillis();  // 结束时间
		System.out.println("缓冲花费的时间是:"+(endTime-startTime));
	}
	
	/**
	 * 非缓冲
	 * @throws Exception
	 */
	public static void stream() throws Exception{
		InputStream inputStream=new FileInputStream("C://《一头扎进J2SE》V2.0视频笔录.doc");  // 定义一个输入流
		OutputStream outputStream=new FileOutputStream("C://复制的《一头扎进J2SE》V2.0视频笔录.doc");
		int b=0;
		long startTime=System.currentTimeMillis(); // 开始时间
		while((b=inputStream.read())!=-1){
			outputStream.write(b);
		}
		inputStream.close();
		outputStream.close();
		long endTime=System.currentTimeMillis();  // 结束时间
		System.out.println("非缓冲花费的时间是:"+(endTime-startTime));
	}
	
	public static void main(String[] args)throws Exception {
		stream();
		bufferStream();
	}
}


把文件从A地址复制到B地址,运行输出:

非缓冲花费的时间是:2368

缓冲花费的时间是:31


我们明显发现 带缓冲的效率高;


关键字:   BufferedInputStream     BufferedOutputStream  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有