当前位置: 首页 > news >正文

java中的缓冲流

  • Java.io.BufferedOutputStream 字节缓冲输出流,继承自OutputStream

  • 构造方法:

  1. BufferedOutputStream (OutputStream out) 创建一个新的缓冲输出流,将数据写入指定的底层输出流
  2. BufferedOutputStream (OutputStream out, int size) 创建一个新的大小为size的缓冲输出流,将数据写入指定的底层输出流
  3. 我们可以传递OutputStream的子类FileOutputStream,缓冲流会给FileOutputStream增加一个缓冲区,提高写入效率,我们可以自定义size来设置缓冲区的大小
  • 使用步骤
  1. 创建FileOutputStream对象,构造方法中写出文件地址
  2. 创建BufferedOutputStream对象,构造方法中提供FileOutputStream对象来增加一个缓冲区,提高写入效率
  3. 使用BufferedOutputStream对象的write方法将数据写入内部缓冲区
  4. 使用flush或者close方法将数据刷入文件,如果使用了close,则flush可以省略,因为close会自动flush
    private static void test1() throws IOException {FileOutputStream fos=new FileOutputStream("c.txt");BufferedOutputStream bos=new BufferedOutputStream(fos);bos.write("你好啊".getBytes());bos.close();fos.close();}
  • Java.io.BufferedInputStream 字节缓冲输入流 ,继承自InputStream

  • 构造方法

  1. BufferedInputStream (InputStream in) 创建一个新的缓冲输入流
  2. BufferedInputStream (InputStream in, int size) 创建一个新的大小为size的缓冲输入流
  • 使用步骤
  1. 创建FileInputStream对象,绑定数据源

  2. 创建BufferedInputStream对象,传递FileInputStream对象作为参数,提高FileInputStream读取文件的效率

  3. 使用BufferedInputStream对象的read方法读取文件

  4. 释放资源

        private static void test2() throws IOException {FileInputStream fis=new FileInputStream("c.txt");BufferedInputStream bis=new BufferedInputStream(fis);int len=0;byte[] bytes=new byte[1024];while((len=bis.read(bytes))!=-1){System.out.println(new String(bytes,0,len));}}
    
  • BufferedWriter 字符缓冲输出流

  • 构造方法

  1. BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的字符缓冲输出流
  2. BufferedWriter(BufferedWriter out,int sz) 创建一个使用指定大小输出缓冲区的字符缓冲输出流
  • 特有的成员方法
  1. void newLine() 换行,会根据不同的操作系统使用不同的换行符
  • 使用步骤
  1. 创建字符缓冲输出流对象,在构造方法中传递字符输出流

  2. 调用字符缓冲输出流中的write,把数据写入到内存缓冲区中

  3. 调用字符缓冲输出流中的flush,把内存缓冲区中的数据刷入文件(可以不使用flush,直接使用close)

  4. 释放资源

        private static void test3() throws IOException {BufferedWriter bw=new BufferedWriter(new FileWriter("d.txt"));bw.write("你好啊,hello");bw.newLine();bw.write("yes");bw.close();}
    
  • BufferedReader 字符缓冲输入流

  • 构造方法

  1. BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的字符缓冲输入流
  2. BufferedReader(Reader in,int sz) 创建一个使用指定大小输入缓冲区的字符缓冲输入流
  • 特有的成员方法
  1. String readLine() 读取一个文本行,读取一行数据
  2. 返回值是字符串,当读到行终止符号的时候返回该行的字符串,当没有读到行终止符,说明读到流的末尾,返回null
  • 使用步骤
  1. 创建字符缓冲输入流对象,构造方法中传递字符输入流

  2. 使用字符缓冲输入流中的read/readLine方法读取文本

  3. 释放资源

        private static void test4() throws IOException{BufferedReader br=new BufferedReader(new FileReader("d.txt"));String s="";while((s=br.readLine())!=null){System.out.println(s);}br.close();}
    
http://www.lryc.cn/news/108794.html

相关文章:

  • 【小吉带你学Git】idea操作(1)_配置环境并进行基本操作
  • DP-GAN-生成器代码
  • 2020-2023中国高等级自动驾驶产业发展趋势研究
  • JDK19 - synchronized关键字导致的虚拟线程PINNED
  • 用msys2安装verilator并用spinal进行仿真
  • 【ARM64 常见汇编指令学习 13 -- ARM 汇编 ORG 伪指令学习】
  • Vue使用QuillEditor富文本编辑器问题记录
  • spring AOP学习
  • 16.M端事件和JS插件
  • Zebec APP:构建全面、广泛的流支付应用体系
  • Spark 3.1.1 遇到的 from_json regexp_replace组合表达式慢问题的解决
  • Docker 容器常用的命令和操作
  • iTOP-RK3568开发板Windows 安装 RKTool 驱动
  • nginx rtmp http_flv直播推流
  • Day50 算法记录| 动态规划 17(子序列)
  • RabbitMQ:概念和安装,简单模式,工作,发布确认,交换机,死信队列,延迟队列,发布确认高级,其它知识,集群
  • 小研究 - 基于解析树的 Java Web 灰盒模糊测试(二)
  • 对于现有的分布式id发号器的思考 id生成器 雪花算法 uuid
  • jmeter中json提取器,获取多个值,并通过beanshell组成数组
  • 通过nvm工具快捷切换node.js版本、以及nvm的安装
  • 企业如何搭建矩阵内容,才能真正实现目的?
  • Arduino驱动MQ5模拟煤气气体传感器(气体传感器篇)
  • Mongodb安装(Centos7)
  • Python 批量处理JSON文件,替换某个值
  • 凯迪正大—SF6泄漏报警装置的主要特点
  • 适配器模式与装饰器模式对比分析:优雅解决软件设计中的复杂性
  • idea使用protobuf
  • 【深度学习_TensorFlow】误差函数
  • mysql按照日期分组统计数据
  • 19 | 分类模型评估指标