/*
缓冲区的出现是为了提高流的操作效率而出现的
所以在创建缓冲区之前,必须要有流对象
该缓冲区中提供了一个跨平台的换行符newLine();
*/
import java.io.*;
public class BufferedWriterDemo
{
public static void main(String[] args)
{
BufferedWriterDemo();
BufferedReaderDemo();
}
/*
字符写入流缓冲区
*/
public static void BufferedWriterDemo()
{
try
{
//创建一个字符写入流对象
FileWriter fw=new FileWriter("d:\\a.txt");
//为了提高字符写入流的效率,加入了缓冲技术
//只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可
BufferedWriter bw=new BufferedWriter(fw);
for(int i=0;i<5;i++)
{
bw.write("abc"+i);
bw.newLine();
bw.flush();
}
bw.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
/*
字符读取流缓冲区
该缓冲区提供一个一次读一行的方法readLine(),方便对文本数据的读取
当返回null时,表示读到文本末尾
*/
public static void BufferedReaderDemo()
{
try
{
//创建一个字符读取流对象并和文件关联
FileReader fr=new FileReader("d:\\a.txt");
//为了提高效率,加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数
BufferedReader br=new BufferedReader(fr);
String str=null;
while((str=br.readLine())!=null)
{
System.out.println(str);
}
br.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
} |