/*
缓冲区的出现是为了提高流的操作效率而出现的。
所以在创建缓冲区之前,必须要先有流对象。
该缓冲区中提供了一个跨平台的换行符。
newLine();
写出流缓冲区:
*/
import java.io.*;
class BufferedWriterDemo{
public static void main(String[] args) {
/*
创建一个字符写入流对象。
*/
FileWriter fw = null;
BufferedWriter bw = null;
try{
fw = new FileWriter("buf.txt");
/*
为了提高字符写入流的效率,加入了缓冲技术。
只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
*/
bw = new BufferedWriter(fw);
bw.write("abced");
}catch (IOException e){
System.out.println(e.toString());
}finally{
try{
//其实关闭缓冲区,就是在关闭缓冲区中的流对象。
if(bw != null)
bw.close();
//fw.close();//不需要写。
}catch (IOException e){
System.out.println(e.toString());
}
}
/*
记住,只要用到缓冲区,就要刷新。
*/
}
}
/*-----------------------------------------------------------------*/
/*
读入流缓冲区:
该缓冲区提供了一个一次读一行的方法readLine(),方面了对文本数据的获取。
当返回null时,表示读到文件末尾。
*/
import java.io.*;
class BufferedReaderDemo{
public static void main(String[] args) {
/*
创建一个字符读入流对象与文件关联。
*/
FileReader fr = null;
BufferedReader br = null;
try{
fr = new FileReader("buf.txt");
/*
为了提高字符读入流的效率,加入了缓冲技术。
只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
*/
br = new BufferedReader(fr);
String line = null;
while((line = readLine()) != null){
System.out.println(line);
}
}catch (IOException e){
System.out.println(e.toString());
}finally{
try{
//其实关闭缓冲区,就是在关闭缓冲区中的流对象。
if(br != null)
br.close();
//fr.close();//不需要写。
}catch (IOException e){
System.out.println(e.toString());
}
}
}
}