21-IO流-15-IO流(字符流-缓冲区-复制文本文件)

//【需求】利用缓冲区完成文本文件的复制。


package demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CopyTestByBuffer {

	public static void main(String[] args) throws IOException {

		//建立字符流,必须先有流才能缓冲
		
		FileReader fr = new FileReader("buf.txt");
		
		FileWriter fw = new FileWriter("buf_copy.txt");
		
		//建立缓冲区
		
		BufferedReader bufr = new BufferedReader(fr);
		
		BufferedWriter bufw = new BufferedWriter(fw);
		
//		//读写操作(方法一:用read方法,一个一个字符读写)
//		
//		int ch = 0;
//		while((ch=bufr.read())!=-1){//read结束标记为-1
//			
//			bufw.write(ch);
//			
//		}//该while循环都是从缓冲区读数据,再将数据写入缓冲区,都是操作内存,速度较快
		
		//读写操作(方法二:既然利用了缓冲区,那么就用其特有方法readLine,直接读取一行数据,再写入一行数据)
		
		String line = null;
		while((line = bufr.readLine())!=null){//readLine结束标记为null
			
			bufw.write(line);
			bufw.newLine();
			bufw.flush();//只要用到缓冲区,【一定记住】刷新
			
		}//这里读取一行操作应用场景之一:判断每行是否有字符串“java”,那么readLine之后,再来个contains即可
		
		//关闭缓冲区(同时对应的流也被关闭)
		bufr.close();
		bufw.close();
		
		
	}

}














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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值