bufferreader与bufferwrite以及用法与readline()方法原理自述总结
来源:互联网 发布:首都经济贸易大学 知乎 编辑:程序博客网 时间:2024/04/30 19:58
缓存可以说是I/O的一种性能优化。缓存流为I/O流增加了内存缓存区。有了缓存区,使得在流上执行skip()、mark()、reset()、方法都成为可能。
特点:
缓存区的出现提高了对数据读写的效率。
缓存区要结合流才能实现。
缓存区在流的基础上对流的功能进行了加强。
BufferedReader:
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组、行的高效读取。
构造方法:
BufferedReader(reader in)
创建一个默认大小输入缓存区的字符输入流
BufferedReader(reader in, int sz)
创建一个给定大小输入缓存区的字符输入流
方法:
read();读取单个字符
read(char[] chuf, int off , int len );将字符读入数组的某一部分
readLine();读取一个文本行
实例:
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class Bufferedreader {public static void main(String[] args) throws IOException {FileReader fr = new FileReader("D:\\1.txt");BufferedReader br = new BufferedReader(fr);String str = null;
// <span style="background-color: rgb(240, 240, 240);">到NULL的时候,说明读到末尾</span>while((str=br.readLine())!=null){System.out.println(str);}br.close();}}
用BufferedReader写的一个小demo,用readLine()方法一行一行读取数据,方便对文本数据的获取,到NULL的时候,说明读到末尾。然后打印数据,最后关闭缓冲流。
readline()方法原理:
readline()的底层实现也是read()方法,也是一次读一个的方法。当readline()读取一个一个的数据暂时取到自己封装的数组当中,当取到换行符的时候,自动把以上取到的数组变成一个字符串,输出出来。
readline()方法原理:
BufferedWriter:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组、字符串的高效写入。
构造方法:
BufferedWriter(writer out)
创建一个默认大小输出缓存区的字符输出流
BufferedWriter(writer out , int sz)
创建一个给定大小输出缓存区的字符输出流
方法:
close()——关闭缓存区字符输出流
flush()——刷新流缓存数据,实时更新
write()——写入字符
newLine()——写入一个行分隔符,也是该缓存区中提供一个快平台的换行符
实例:
import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class Bufferedwriter {public static void main(String[] args) throws IOException {//字符写入流FileWriter fw = new FileWriter("D:\\1.txt");//缓冲输出流BufferedWriter bw = new BufferedWriter(fw);//输出字符串bw.write("asdflkjasdlfjla");//刷新缓冲流bw.flush();//关闭缓冲流bw.close();}}
用法:
用缓冲区复制文件。
</pre><pre name="code" class="java"><pre name="code" class="java"><pre name="code" class="java">public class CopyText {public static void main(String[] args) {// 声明缓冲输入输出BufferedReader bis = null;BufferedWriter bos = null;// 可能有异常 要try catchtry {// 创建缓冲输入,写出根路径bis = new BufferedReader(new FileReader("D:\\1.txt"));// 创建缓冲输出,写出复制文件路径bos = new BufferedWriter(new FileWriter("D:\\2.txt"));// 判断文件字节是否完结,无则继续写入复制文件。String line = null;while ((line=bis.readLine())!=null) {//读取写入bos.write(bis.read());bos.flush();}} catch (Exception e) {e.printStackTrace();} finally {// 关闭输入流
try {if (bis!=null) {bis.close();}} catch (IOException e) {e.printStackTrace();}// 关闭输出流try {if (bos!=null) {bos.close();}} catch (IOException e) {e.printStackTrace();}}}}
0 0
- bufferreader与bufferwrite以及用法与readline()方法原理自述总结
- BufferReader中的readLine()方法
- BufferReader与BufferInputStream 区别及用法
- BufferReader与Scanner的用法比较
- 使用BufferReader类的readLine()方法注意问题
- Scanner与BufferReader的区别
- BufferedReader中的readLine()方法与换行符
- java中hashCode方法与equals方法以及contains方法的用法总结
- String的原理与用法总结
- java中br.readLine与 br.read的用法区别
- java中br.readLine与 br.read的用法区别
- readn、readline与writen
- readLine()与read()
- BufferReader与BufferWriter实现socket通信注意事项
- 变速变调原理与方法总结
- 软件体系结构原理、方法与实践总结
- 关于BufferReader中readLine的问题!小心!
- python中read() readline()以及readlines()用法
- linux找不到mysql.h(连接不到mysql.h)
- hdoj1257_最少拦截系统(dp)
- programming-challenges File Fragmentation (110306) 题解
- 开篇杂谈
- 编程技术教程
- bufferreader与bufferwrite以及用法与readline()方法原理自述总结
- 基于Hadoop的MR开发
- 大学毕业小总结以及感想
- Java基础:面向对象三大特征、五大原则
- Fedora 22 for arndale octa board
- io流初步
- Android:解决ExpandableListView中添加button后item项点击事件问题
- ffmpeg+ffserver搭建流媒体服务器
- 内网映射到外网的工具ngrok使用