黑马程序员技术交流社区
标题:
带缓冲的字符流
[打印本页]
作者:
Kingchen
时间:
2016-6-17 21:25
标题:
带缓冲的字符流
* BufferedReader的read()方法读取字符时会一次读取若干字符到缓冲区, 然后逐个返回给程序, 降低读取文件的次数, 提高效率
* BufferedWriter的write()方法写出字符时会先写到缓冲区, 缓冲区写满时才会写到文件, 降低写文件的次数, 提高效率
*
BufferedReader br = new BufferedReader(new FileReader("aaa.txt")); //创建字符输入流对象,关联aaa.txt
BufferedWriter bw = new BufferedWriter(new FileWriter("bbb.txt")); //创建字符输出流对象,关联bbb.txt
int ch;
while((ch = br.read()) != -1) { //read一次,会先将缓冲区读满,从缓冲去中一个一个的返给临时变量ch
bw.write(ch); //write一次,是将数据装到字符数组,装满后再一起写出去
}
br.close(); //关流
bw.close();
案例:
package com.heima.chario;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo3_Copy {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
demo4();
}
public static void demo() throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("yyy.txt"));
int c;
while((c = br.read()) != -1) {
bw.write(c);
}
br.close();
bw.close();
}
}
复制代码
作者:
大笑哈哈
时间:
2016-6-17 21:58
学习了,感谢
作者:
一个大西瓜
时间:
2016-6-17 22:11
其实BufferedReader和BufferedWriter就是Reader与writer的升级版 增加了readLine()方法
作者:
hero_king
时间:
2016-6-17 22:12
楼上说的很对
作者:
梧桐树下123
时间:
2016-6-17 23:14
不错,学习了!
作者:
我是泽西哥
时间:
2016-6-17 23:26
这原理感觉就像钢铁侠 一个人装了装备进行强化,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2