java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装。当对文件或其他目标频繁读写或操作效率低,效能差。这时使用缓冲流能够更高效的读写信息。因为缓冲流先将数据缓存起来,然后一起写入或读取出来。所以说,缓冲流还是很重要的,在IO操作时记得加上缓冲流提升性能。

缓冲流分为字节和字符缓冲流
字节缓冲流为:
BufferedInputStream—字节输入缓冲流
BufferedOutputStream—字节输出缓冲流
字符缓冲流为:
BufferedReader—字符输入缓冲流
BufferedWriter—字符输出缓冲流
下面主要介绍这四种缓冲流的使用。
一. 字节缓冲流
1.BufferedOutputStream—字节输出缓冲流
BufferedOutputStream类实现缓冲的输出了,通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必每一个字节写入都调用底层系统。
示例代码:
public static void main(String[] args) {
try {
//创建字节输出流实例
OutputStream out=new FileOutputStream("L:\\test.txt");
//根据字节输出流构建字节缓冲流
BufferedOutputStream buf=new BufferedOutputStream(out);
String data="好好学习,天天向上";
buf.write(data.getBytes());//写入缓冲区
buf.flush();//刷新缓冲区,即把内容写入
//关闭流
buf.close();//关闭缓冲流时,也会刷新一次缓冲区
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.BufferedInputStream—字节输入缓冲流
BufferedInputStream为别的输入流添加缓冲功能,在创建BufferedInputStream时会创建一个内部缓冲数组,用于缓冲数据,提高性能。
示例代码:
public static void main(String[] args) {
try {
//创建字节输入流实例
InputStream in=new FileInputStream("L:\\test.txt");
//根据字节输入流构建字节缓冲流
BufferedInputStream buf=new BufferedInputStream(in);
byte[]bytes=new byte[1024];
//数据读取
int len=-1;
StringBuffer sb=new StringBuffer();
while((len=buf.read(bytes))!=-1)
{
sb.append(new String(bytes,0,len));
}
System.out.println("内容为:"+sb);
//关闭流
buf.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
二. 字符缓冲流
1.BufferedWriter—字符输出缓冲流
将文本写入字符输出流,缓冲各个字符,从而提供高效的写入。可以指定缓冲区的大小,一般情况下,默认的缓冲区大小就足够了。
示例代码:
public static void main(String[] args) {
try {
Writer w=new FileWriter("L:\\test.txt");
//根据字符输出流创建字符缓冲流
BufferedWriter buf=new BufferedWriter(w);
//写入数据
buf.write("只要功夫深铁杵磨成针");
//刷新流
buf.flush();
//关闭流
buf.close();
w.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.BufferedReader—字符输入缓冲流
从字符输入流中读取信息,缓冲各个字符,从而实现高效读取。可以指定缓冲区的大小,一般情况下,默认的缓冲区大小就足够了。默认大小为8192.
示例代码:
public static void main(String[] args) {
try {
Reader r=new FileReader("L:\\test.txt");
//根据字符输入流创建字符缓冲流
BufferedReader buf=new BufferedReader(r);
char [] data=new char[512];
//数据读取
int len=-1;
StringBuilder sb=new StringBuilder();
while((len=buf.read(data))!=-1)
{
sb.append(new String(data,0,len));
}
System.out.println("内容是: "+sb);
//关闭流
buf.close();
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# java
# IO流
# 缓冲流
# Java中的缓冲流详细解析
# Java的字节缓冲流与字符缓冲流解析
# Java学习之缓冲流的原理详解
# java 实现字节流和字节缓冲流读写文件时间对比
# Java字节缓冲流原理与用法详解
# Java IO流之字符缓冲流实例详解
# java使用缓冲流复制文件的方法
# Java中缓冲流的使用与性能提升(让文件操作更高效)
# 也会
# 很重要
# 或其他
# 足够了
# 天天向上
# 先将
# 装上
# 创建一个
# 好好学习
# 就可以
# 应用程序
# 提高效率
# 这四
# 而不必
# 即把
# 只是在
# 只要功夫深铁杵磨成针
# args
# OutputStream
# pre
相关文章:
建站之星安装提示数据库无法连接如何解决?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
股票网站制作软件,网上股票怎么开户?
如何基于云服务器快速搭建个人网站?
外贸公司网站制作哪家好,maersk船公司官网?
个人摄影网站制作流程,摄影爱好者都去什么网站?
,网站推广常用方法?
如何破解联通资金短缺导致的基站建设难题?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何高效配置香港服务器实现快速建站?
如何在景安服务器上快速搭建个人网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何快速搭建高效WAP手机网站吸引移动用户?
建站主机是什么?如何选择适合的建站主机?
如何在阿里云香港服务器快速搭建网站?
如何在阿里云ECS服务器部署织梦CMS网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
微信小程序 input输入框控件详解及实例(多种示例)
昆明网站制作哪家好,昆明公租房申请网上登录入口?
电商网站制作公司有哪些,1688网是什么意思?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
北京专业网站制作设计师招聘,北京白云观官方网站?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
内部网站制作流程,如何建立公司内部网站?
,在苏州找工作,上哪个网站比较好?
建设网站制作价格,怎样建立自己的公司网站?
想学网站制作怎么学,建立一个网站要花费多少?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何在IIS服务器上快速部署高效网站?
如何通过商城自助建站源码实现零基础高效建站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
家庭建站与云服务器建站,如何选择更优?
大连网站制作公司哪家好一点,大连买房网站哪个好?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
建站之星如何快速解决建站难题?
建站之星代理平台如何选择最佳方案?
香港服务器租用费用高吗?如何避免常见误区?
动图在线制作网站有哪些,滑动动图图集怎么做?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何快速上传建站程序避免常见错误?
如何通过虚拟主机空间快速建站?
Python如何创建带属性的XML节点
电商平台网站制作流程,电商网站如何制作?
*请认真填写需求信息,我们会在24小时内与您取得联系。