java-io流-缓冲字节流和缓冲字符流

缓冲字节流

BufferedInputStream 和 BufferedOutputStream
看有什么特点
就是前面加了一个buffered,也就是说还是依赖底层的字节流。
区别就是比底层的字节流更快,因为这个利用了内存的运行速度比存储的快。

因为基本的流速度太慢了,所以需要缓冲流来加速,因为用户对响应速度的要求高于内存的。

用缓冲字节流实现文本文件的复制粘贴

方法1:原始方法。


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

public class TestBufferedInputstream {
    
    

	public static void main(String[] args) throws IOException {
    
    
		
		//创建源文件以及接收的文件,参数位路径
				File fileSrc = new File("D:\\src.txt");
				File fileDest = new File("D:\\dest.txt");
				//创建输出流,参数为文件也可以是文件的路径直接用字符串表示。
				FileInputStream fis = new FileInputStream(fileSrc);
				FileOutputStream fos = new FileOutputStream(fileDest);
				
				BufferedInputStream bis = new BufferedInputStream(fis);
				BufferedOutputStream bos = new BufferedOutputStream(fos);
				//获取当前时间
				long start = System.currentTimeMillis();
				byte [] b = new byte[1024];
				int n = bis.read(b);
				while( n != -1) {
    
    
					bos.write(b);
					bos.flush(); 
					n = bis.read(b);
				}
				long end = System.currentTimeMillis();
				System.out.println("总运行时间:" + (end - start));
				bos.close();
				bis.close();
	}

}

在这里插入图片描述
简写方法如下,本质一样。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/toomemetoo/article/details/112800421
今日推荐