尚学堂集团旗下品牌: | | |
实战派 好教育     全国咨询热线:400-009-1906

北京 切换校区

全国24小时免费热线

400-009-1906

Java开发有关缓存流的相关概念-0基础Java培训

时间:2018-07-17   来源:尚学堂   阅读:192
首页> Java开发有关缓存流的相关概念-0基础Java培训

缓存流是计算机领域中输入输出流的一种常见形式。包括BufferedInputStream/ BufferedOutputStream 类和BufferedReader/ BufferedWriter类。

Java开发有关缓存流的相关概念-0基础Java培训
缓存流

BOS的基本工作原理

在向硬件设备做出写操作时,增大写出次数能够降低写出效率,我们可以使用缓冲流来一次性批量写出若干数据流来减少写出次数,从而提高写出效率。

BufferedOutputStream缓冲输出流内部维护一个缓冲区,我们在向该流写数据时,都会先将数据存入缓冲区,当缓冲区已满,缓冲流会将数据一次性全部写出。

public void testBos()throws Exception{
  FileOutputStream fos=new FileOutputStream("demo.dat");
  //创建缓冲字节输出流
  BufferedOutputStream bos
            =new BufferedOutputSteam(fos);
  //所有字节被存入缓冲区,等待一次性写出
  bos.write("helloworld".getBytes());
  //关闭流之前,缓冲输出流会将缓冲内容一次性写出
  bos.close();
} 

BOS的flush方法

使用缓冲流可以提高写出效率,但这样的写出数据缺乏及时性,我们需要在执行完某操作后将这些数据确实写出,这时我们可以使用缓冲流的另一个方法:void flush()以此来清空缓冲区,将其中的数据强制写出。
BIS的基本工作原理

在读取数据时如果以字节为单位来读取数据,会导致读取次数过于频繁从而降低读取效率,因此可以通过提高一次读取的字节的数量来提高读写效率。

BufferedOutputStream是缓冲字节输入流,在其内部存在有缓冲区,在使用该流读取一个字节时,该流能够尽可能多的一次性读取若干字节并进入缓存区,然后逐一的将字节返回,直到缓冲区的数据被全部读取完毕,会再次读取若干字节从而反复,这样减少了读取次数,增加读取效率。

另:BIS是一个处理流,为我们提供的缓冲功能。

 

public void testBis()throws Exception{
   //创建缓冲输入字节流
   FileInputStream fis =new FileInputStream("demo.dat");
   BufferdInputStream bis=new BufferedInputStream(fis);
   int d=-1
   //缓冲读入,实际上并非是一个字节一个字节从文件读取的
   while((d = bis.read())!=-1){
       Systerm.out.print(d+"");
   }
   bis.close();
}

以上内容就是程序语言中有关Java培训开发中Java中有关缓存流的一些概念,希望能够帮到热爱编程的你。想了解更多Java培训技术和前景,请持续关注尚学堂官方网站, 我们会为您更新更多JAVA程序开发的动态,欢迎在留言区留言讨论,预约免费试听相关课程!机会难得!

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

分享:0

相关资讯

  • 北京校区
  • 山西校区
  • 郑州校区
  • 武汉校区
  • 四川校区
  • 长沙校区
  • 深圳校区
  • 上海校区
  • 广州校区

北京海淀区校区(总部):北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
咨询电话:400-009-1906 / 010-56233821
面授课程: JavaEE培训大数据就业班培训大数据云计算周末班培训零基础大数据连读班培训大数据云计算高手班培训人工智能周末班培训
人工智能+Python全栈培训H5+PHP全栈工程师培训视觉设计培训

山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702
咨询电话:0354-3052381