栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaIO流之缓冲流效率比较,和字符缓冲流的作用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaIO流之缓冲流效率比较,和字符缓冲流的作用

介绍:在javaIO阶段学习中,我认为缓冲流完全没有花费大的精力去进行学习,因为缓冲流其最初设计的主要作用是帮助字节流和字符流增强其传输效率而言的,但是经过测试发现,缓冲流能干的事情,我们通过字节流或者字符流增加一个数组同样可以做到,而且效率提升的更高,在java中有字节缓冲流、字符缓冲流,主要目的是提高读写效率。当然字符缓冲流的作用一次可以读取一行,也不容忽视。

一、字节缓冲流 输入(读/input):

构造方法:public BufferedInputStream(InputStream);创建一个缓冲输入流对象,其参数是基本的字节输入流,InputStream是抽象类,所以我们要传入其实现子类,也就是FileInputStream

范例:

BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:/src.exe"));//我这里的地址写的绝对地址
输出(写/output);

构造方法 : public BufferedOutputStream(OutputStream out) : 创建一个缓冲输出流对象, 其参数是基本的字节输出流,OutputStream是一个抽象类,所以为们要传入其子类也就是FileOutputStream
范例:

BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("D:/src1.exe"));
案例:拷贝文件测试效率 普通字节流,单个字节拷贝

字节流+自定义数组拷贝

普通字节拷贝文件大小314M
耗时:2404毫秒

自定义字节数组设置为8192个,进行拷贝
文件大小314M,耗时:436毫秒

字节缓冲流进行拷贝

文件大小314M
耗时:8407毫秒

缓冲流+自定义数组进行拷贝

文件大小314M
耗时:406毫秒

二、字符缓冲流 输入(Read):

1、构造方法 : public BufferedReader(Reader in) : 创建高效的字符输入流对象, 参数需要接收一个基本的字符输入流。
2、特殊功能 : public String readLine() : 包含该行内容的字符串,不包含换行符,如果已到达流末尾,则返回 null

输出(Write):

1、构造方法 : public BufferedWriter(Writer out) : 创建高效的字符输出流对象, 参数需要接收基本字符输出流。
2、特殊功能 : public void newline() : 写入一个行分隔符,这个行分隔符是由系统决定的(具有跨平台作用,在mac(r)、windows(n、r、rn)、linux(n)中换行各不相同)。

注意:缓冲流不具备读写功能, 只提供缓冲区, 读写操作,还是需要依赖于基本的流

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号