首页 > 编程语言 >JAVA基础:缓冲流

JAVA基础:缓冲流

时间:2024-08-27 18:24:10浏览次数:7  
标签:字符 JAVA 文件 缓冲 基础 BufferedReader 缓冲区 数据

目录

前言

创建缓冲流

缓冲流的特点


前言

之前我们在使用输入流读取文件时每读一次文件就会通过输入流向程序中加载一次数据,使用输出流时,每次都要向硬盘中写入数据,如果我们读取数据的次数特别频繁就会影响性能,这种时候我们就要考虑能不能将这些数据存到一个缓冲区,当这个缓冲区满足一定的条件时再将数据写入文件或者程序,这种时候就要使用缓冲流

创建缓冲流

缓冲流分为字节输入缓冲流,字节输出缓冲流,字符输入缓冲流,字符输出缓冲流

BufferedInputStream , BufferedOutputStream , BufferedReader , BufferedWriter

FileReader r = new FileReader("c:/z/1.txt") ;
BufferedReader br = new BufferedReader(r);
BufferedReader br = new BufferedReader(r,size);

以字符缓冲流举例缓冲流是一个过程流,我们需要先重建文件字符流,通过文件字符流获得文件中的数据,然后再通过缓冲流

缓冲流有一个重载构造方法可以传递两个参数,第二个参数可以规定缓冲区的大小

对于创建缓冲流之后的使用就和之前的所有流都是一致的了

缓冲流的特点

缓冲流底层使用一个数组缓冲数据,默认的缓冲大小是8kb,我们可以在创建缓冲流对象时指定数组的长度

字符缓冲输入流(BufferedReader )有一个特殊的方法,这个方法可以实现将数据以行为单位读取,每次可以读取一行数据readLine()

对于缓冲输出流,如果缓冲区的数据满了就会将缓冲区的数据推入节点流,再由节点流将数据写入文件,如果使用缓冲输出流写一个超过缓冲区大小的数据,该数据不会缓冲,直接写入节点流

标签:字符,JAVA,文件,缓冲,基础,BufferedReader,缓冲区,数据
From: https://blog.csdn.net/weixin_65346668/article/details/141609476

相关文章

  • Java三网手机号实名认证接口、实名认证API调用
    翔云手机号实名认证服务接口,可快速核查上传手机号、姓名、身份证号与权威数据库信息是否一致,支持对移动、联通、电信三大运营商手机号核验,支持批量核验多个手机号,接口集成,简便高效Java手机号实名认证接口集成代码示例:packagecom.test;importokhttp3.;importorg.jso......
  • Java财政票据查验接口、医疗票据查验、发票验真接口
    支持非税收入类票据:非税收入通用票据、非税收入一般缴款书真伪查验,结算类票据:资金往来结算票据真伪查验,其他财政票据:公益事业捐赠票据、医疗收费票据、社会团体会费票据真伪查验,上传票据查验要素信息,即可返回票据相关信息,有助于财务管理智能化Java财政票据查验接口代码示......
  • Go基础语法知识整理
    Go基础语法知识go入门go历史(简单了解)go优势强大的编译能力、媲美C的执行速度、并发效率极高、异步语言快速写同步程序、严格的语法下载及配置(已配置,带过)开发工具,推荐goland,电脑没装,先用vscode变量声明格式var和:=、驼峰标识、值变量自动初始化赋对应零值,......
  • JS基础: array 对象
    数组的属性有:length、constructor、prototype数组的方法有以下:filter:过滤筛选出符合条件的数组,filter不会改变原始数组。语法:arr.filter(function(currentValue,index,arr);constarr=[ {name:'hz',distance:95}, {name:'qz',distance:56}, {name:'nb',distanc......
  • Java财政票据查验接口、医疗票据查验、发票验真接口
    支持非税收入类票据:非税收入通用票据、非税收入一般缴款书真伪查验,结算类票据:资金往来结算票据真伪查验,其他财政票据:公益事业捐赠票据、医疗收费票据、社会团体会费票据真伪查验,上传票据查验要素信息,即可返回票据相关信息,有助于财务管理智能化Java财政票据查验接口代......
  • 【29期】Java集合框架 10 连问,你有被问过吗?
    1.HashMap和HashTable的区别?HashMap不是线程安全的HashMap是map接口的实现类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许nullkey和nullvalue,而HashTable不允许。HashTable是线程安全CollectionHashMap是HashTa......
  • Java语言-SpringCloud架构-EMS能源管理系统(水-电-气-热-油等数据采集分析系统)
    Java语言-SpringCloud架构-EMS能源管理系统(水-电-气-热-油等数据采集分析系统)介绍适用于高能耗企业、建筑、工厂、园区的水、电、气、热、油、空压机等能源数据采集、分析、报表;基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud......
  • Java语言-SpringBoot框架-充电桩管理系统+充电桩平台+充电桩+充电桩系统源码
    Java语言-SpringBoot框架-充电桩管理系统+充电桩平台+充电桩+充电桩系统源码####简述SpringBoot框架,充电桩平台+充电桩系统+充电平台+充电桩+互联互通协议+云快充协议1.5-云快充1.6协议+新能源汽车+电动自行车+公交车-四轮车充电+充电源代码+充电平台源码+Java源码+无加密项......
  • 13.3 Java对象序列化梳理
    目录13.3Java对象序列化13.3.1 引入13.3.1 对象序列化与对象流1.Serializable接口2.ObjectInputStream类和ObjectOutputStream类13.3.2向ObjectOutputStream中写入对象13.3Java对象序列化13.3.1 引入应用场景:对象的寿命通常随着创建该对象程序的终止而终......
  • 关于java中Stream理解
    关于java中Stream理解Stream是什么Stream:Java8新增的接口,Stream可以认为是一个高级版本的Iterator。它代表着数据流,流中的数据元素的数量可以是有限的,也可以是无限的。Stream跟Iterator的差别是无存储:流是基于数据源的对象,它本身不存储数据元素,而是通过管道将数据源的元素......