字符流的缓冲区

作者:杨裙
本次任务完成时间:2019年4月25日
开发工具与关键技术:MyEclipse 10、Java
1、 拥有缓冲区的流称为缓冲流。缓冲流的最大特点就是,可以提高写入数据和读取数据的效率。相比较而言,直接在文件读取数据和写入数据,那么比在缓冲区读取数据要慢很多。所以,当读取文件的时候,用缓冲流来读取和写入数据,其读写的效率会大大提升,这就是使用缓冲区的好处。
2、 字符流的缓冲流有BufferedReader 和BufferedWriter。BufferedReader是Reader的直接已知子类,BufferedWriter是Writer的直接已知子类。其实,辨认缓冲流就是Buffered+其本身的基类就是其各自的缓冲流。
3、 BufferedReader: 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。BufferedWrite:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
4、 字符缓冲流提供了特有方法,其它流没有:
BufferedReader:(readLine():读取一个文本行,使用readLine()读取一行数据会比较方便);
BufferedWriter:(newLine():写入一个行分隔符)
如下图:
在这里插入图片描述
注意:如果使用缓冲流就要和流结合使用,而且缓冲区一定要有被缓冲的对象,否则没有任何意义。
一、当有需求是用缓冲区复制文件,如图:
在这里插入图片描述在这里插入图片描述
注意:当用完流的时候一定要记得写一个方法,那就是close()方法,关闭流的方法。但BufferedWriter不仅有close()方法,还有一个flush()方法,当写完数据的时候,要用flush()方法刷新该流的缓冲再关闭此流,如果不关闭流,就可以不断的写数据进去,但关闭了流,就不能在写数据了,如图:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,我们可以使用缓冲字符流字符流缓冲区来读取文件。这两种方法都比直接使用字符流要高效得多。 使用缓冲字符流读取文件的步骤如下: 1. 创建FileReader对象,用于读取文件。 2. 创建BufferedReader对象,将FileReader对象作为参数传递给它。 3. 调用BufferedReader对象的readLine()方法读取文件内容。 4. 循环调用readLine()方法,直到返回null,表示文件已读取完毕。 5. 关闭BufferedReader对象和FileReader对象。 示例代码如下: ``` FileReader fr = new FileReader("file.txt"); BufferedReader br = new BufferedReader(fr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); fr.close(); ``` 使用字符流缓冲区读取文件的步骤如下: 1. 创建FileReader对象,用于读取文件。 2. 创建char数组,作为字符流缓冲区。 3. 创建int变量,用于记录从文件中读取的字符数。 4. 循环读取文件内容,每次读取一定数量的字符缓冲区中。 5. 关闭FileReader对象。 示例代码如下: ``` FileReader fr = new FileReader("file.txt"); char[] buffer = new char[1024]; int len; while ((len = fr.read(buffer)) != -1) { System.out.println(new String(buffer, 0, len)); } fr.close(); ``` 注意,在使用字符流缓冲区读取文件时,我们需要使用String类的构造方法将char数组转换成字符串。同时,需要注意读取到的字符数len可能小于缓冲区的大小,因此在构造字符串时需要指定有效字符的长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值