首页 > 其他分享 >缓冲流2.0

缓冲流2.0

时间:2023-11-27 09:57:14浏览次数:21  
标签:缓存 构造方法 BufferedInputStream 缓冲 写入 InputStream 2.0 方法

缓存是io的一种性能优化,缓存流为io流增加了内存缓存区,有了缓存区使得在流上执行skip(),mark()和reset()方法都成为可能
BufferedInputStream与bufferedOutputStream类
BufferedIputStreaam类可以对所有InputStream类进行带缓存区的包装以达到性能的优化,BufferedInputStream类有两个构造方法:
BufferedInputStream(InputStream in)
BufferedInputStream(InputStream in,int size)
第一种形式的构造方法创建了一个32字节的缓存流
第二种形式的构造方法按指定的大小来创建缓存区,一个最优的缓存区的大小,取决于它所在的操作系统可用的内存空间以及机器配置
使用BufferedOutputStream或OutputStream输出信息完全一样,只不过BufferedOutputStream有一个flush()方法用来将缓存区的数据强制输出完BufferedOutputStream类也有两个构造方法和BufferedInputStream一致
BufferedReader与BufferedWriter类
BufferedReader类与BufferedWriter类分别继承Reader与Writer类,这两个类同样具有内部缓存机制,并可以以行为单位进行输入输出
BufferedReader类常用的方法如下
read()方法:读取单个字符
readLine:读取一个文本行,并将其返回为字符串若无字符串可读,则返回null
BufferedWriter类中的方法都返回void,常用方法如下
Writer(String s,int off,int len)方法:写入字符串的某一部分
flush()方法:刷新该流的缓存
newLine()方法:写入一个行分隔符
在使用BufferedWriter类的Write()方法时,数据并没有立刻被写入至输出流,而是首先进入缓存区中,如果想立刻将缓存区中的数据写入输出流,一定要调用flush()方法

标签:缓存,构造方法,BufferedInputStream,缓冲,写入,InputStream,2.0,方法
From: https://www.cnblogs.com/ly123dcom/p/17858561.html

相关文章

  • 缓冲流3.0
    数据输入/输出流(DataaInputStream类与DataOutputStream类)允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型,也就是说,当读取一个数据时,不必再关心这个数值应当是哪种字节DataInputStream类与DataOutputStream类的构造方法如下DataInputStream(InputStreamin):......
  • 多线程2.0
    说起进程就不得不说程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念而进程则是执行程序的一次执行过程,他是一个动态的概念,是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程至少有一个线程,不然没有存在的意义,线程是cpu调度和执行的......
  • 泛型2.0
    泛型的高级用法包括限制泛型可用类型和使用类型通配符1.限制泛型可用类型泛型默认可以使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制,语法如下:class类名称<TextendsanyClass>其中anyClass指某个接口或类,使用泛型限制后,泛型类的类型必须实现或继承any......
  • Ubuntu22.04 图形化安装 Eclipse
    由于云计算大数据课程需要,在此记录下我的安装过程点击打开Ubuntu左侧边栏自带的软件中心搜索elipse点击安装,应该会弹出认证窗口,输入当前用户的登录密码即可等待安装结束后,点击Ubuntu左侧边栏的搜索工具,搜索并打开Eclipse第一次打开需要选择工作空间,来保......
  • 【2.0】常用模块之time、datetime模块
    【一】时间模块(time/datetime)【二】表示时间的三种方式在Python中,通常有这三种方式来表示时间:时间戳元组(struct_time)格式化的时间字符串:格式化的时间字符串(FormatString):‘1999-12-06’【三】time(1)导入时间模块importtime(2)时间戳(time)[1]生成时间戳......
  • ubuntu黑屏(解决,但又没完全解决)关于双系统 ubuntu22.04 LST+win11 及 双显卡 AMD-6650X
    今天一开机,ubuntu系统就黑屏左上角光标一直闪,并且报了bluetooth的问题和v2raya的问题。alt+f2-f7都无法切换到命令界面或图形界面。但是反复重启后,有个别几次能进入图形界面。排查了几个原因1、内核的问题。参考:https://www.mail-archive.com/[email protected]......
  • 好用的IDEA插件——Apipost-Helper-2.0
    今天给大家推荐IDEA插件:ApipostHelper,比市面上很多产品好用并且完全免费!先说一下ApipostHelper的安装和使用安装在IDEA编辑器插件中心输入Apipost搜索安装:Apipost-Helper-2.0配置方法:使用ApipostIDEA插件前需要在IDEA设置中进行配置:云端域名默认为:https://sync-project-ide.a......
  • 在vue2.0 项目中集成 Electron 实现桌面端应用
    需求:在桌面端有个应用能直接打开项目,不用在浏览器中浏览。方案:vue2.0+Electron关于vue的项目搭建和electron的相关介绍可以去官网了解,这里是直接在已经开发好的vue2.0的项目中直接加入electron。electron介绍:参考1: https://electronjs.p2hp.com/参考2:https://www.......
  • azkaban 提交任务编写案例(flow 2.0)
    config:#导出数据任务user.to.proxy:fooday:$(new("org.joda.time.DateTime").minusDays(1).toString("yyyyMMdd"))jarPATH:${working.dir}/jars/algorithm-framework-1.0-SNAPSHOT.jarmainClassName:com.iov.flow.task.StarterTasksysty......
  • uView1.0和2.0版本的差异性
    uView2.0与uView1.x之间,有着非常大的差异,由于2.0是重构版,所以1.x不能直接升级到2.x版本。2.0版本优化了一些组件的使用,对加强了form表单的校验。提供了通用性的customStyle参数,可以方便设置一些基础样式等等......