全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解java IO流之缓冲流的使用

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 


相关文章: 建站之星logo尺寸如何设置最合适?  网站设计制作企业有哪些,抖音官网主页怎么设置?  广平建站公司哪家专业可靠?如何选择?  如何在服务器上配置二级域名建站?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  如何在腾讯云免费申请建站?  建站之星代理如何获取技术支持?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  宝塔建站无法访问?如何排查配置与端口问题?  Android滚轮选择时间控件使用详解  魔方云NAT建站如何实现端口转发?  济南企业网站制作公司,济南社保单位网上缴费步骤?  北京网站制作网页,网站升级改版需要多久?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  在线制作视频的网站有哪些,电脑如何制作视频短片?  制作销售网站教学视频,销售网站有哪些?  兔展官网 在线制作,怎样制作微信请帖?  学校为何禁止电信移动建设网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何在IIS服务器上快速部署高效网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何用PHP工具快速搭建高效网站?  自助网站制作软件,个人如何自助建网站?  如何在IIS中新建站点并配置端口与物理路径?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何确认建站备案号应放置的具体位置?  建站之星后台密码遗忘如何找回?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  高端云建站费用究竟需要多少预算?  如何快速搭建FTP站点实现文件共享?  网站企业制作流程,用什么语言做企业网站比较好?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  七夕网站制作视频,七夕大促活动怎么报名?  网站制作壁纸教程视频,电脑壁纸网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  贸易公司网站制作流程,出口贸易网站设计怎么做?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何在Ubuntu系统下快速搭建WordPress个人网站?  c++ stringstream用法详解_c++字符串与数字转换利器  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何用景安虚拟主机手机版绑定域名建站?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  网站网页制作专业公司,怎样制作自己的网页?  C#如何序列化对象为XML XmlSerializer用法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。