字符流缓冲区

字符流缓冲区

缓冲区的出现是为了提高流的流的操作效率,所以在创建缓冲区之前必须先有流对象。


BufferedWriter

缓冲区提供了一个跨平台的换行符:newLine()

FileWriter fw=new FileWriter("D:/1.txt");//创建流对象
BufferedWriter bufw=new BufferedWriter(fw);//缓冲
for(int i=1;i<5;i++)
{
	bufw.write("abc"+i);//缓冲区写入数据
	bufw.newLine();//换行
	bufw.flush();//一定要刷新
}
bufw.close();//关闭缓冲区,也同时关闭了流对象

BufferedReader

readLine:一次读一行,当返回null时表示文件末尾。

FileReader fr=new FileReader("E:/1.txt");
BufferedReader bufr=new BufferedReader(fr);
String line=null;
while((line=bufr.readLine())!=null)
{
	System.out.println(line);
}
bufr.close();



练习:复制文本(通过缓冲区)

package recollect;

import java.io.*;

public class Bufferedwr {

	public static void main(String[] args) {
		copy();

	}
	public static void copy()
	{
		BufferedWriter bufw=null;
		BufferedReader bufr=null;
		try
		{
			bufw=new BufferedWriter(new FileWriter("D:/1.txt"));
			bufr=new BufferedReader(new FileReader("E:/1.txt"));
				
			String line=null;
			while((line=bufr.readLine())!=null)
			{
				bufw.write(line);
				bufw.newLine();
				bufw.flush();
			}
		
		}
		catch(IOException e)
		{
			throw new RuntimeException("fall");
		}
		finally
		{
			try
			{
				if(bufw!=null)
					bufw.close();
				if(bufr!=null)
					bufr.close();
			}
			catch(IOException e)
			{		
				e.printStackTrace();
			}
		}
	}

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值