30.Java——字符缓冲流

在这里插入图片描述

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

/**
 * BufferedReader:字符缓冲输入流 构造方法: public BufferedReader(Reader reader);
 * BufferedWriter:字符缓冲输出流 构造方法:public BufferedWriter(Writer writer)
 * 
 * 特点: 字符缓冲流自带有缓冲区,大小为8192个字符也就是16KB
 * 
 * @author yf
 *
 *         2020-12-09 19:12:37
 */
public class CopyFile4 {
	public static void main(String[] args) throws IOException {
		// 需求:通过字符缓冲流,将1.txt文件中的内容拷贝到2.txt文件中
		// 1.创建字符缓冲输入流对象,关联数据源文件
		// 1.1 创建按普通的字符输入流对象
		FileReader fr = new FileReader("1.txt");
		// 1.2 创建字符缓冲输入流对象
		BufferedReader br = new BufferedReader(fr);

		// 简化上述代码
		BufferedReader br2 = new BufferedReader(new FileReader("1.txt"));

		// 2.创建字符缓冲输出流对象,关联目的地文件
		// 2.1 创建普通的字符输出流对象
		FileWriter fw = new FileWriter("2.txt");
		// 2.2 创建字符缓冲输出流对象
		BufferedWriter bw = new BufferedWriter(fw);

		// 3.定义变量,记录读取的数据
		int len;

		// 4.循环读取,只要条件满足就一直读,并将读取到的内容赋值给变量
		while ((len = br.read()) != -1) {
			// 5.将读取到的数据写入到目的地文件中
			bw.write(len);
		}

		// 6.释放资源
		br.close();
		bw.close();

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

/**
 * 根据当前操作系统给出对应的换行符 : 
 * 1. Windows操作系统 \r\n 
 * 2. MAC操作系统 \r 
 * 3. unix操作系统 \n
 *
 * @author yf
 *
 *         2020-12-09 19:32:54
 */
public class CopyFile4 {
	public static void main(String[] args) throws IOException {
		// 需求:通过字符缓冲流“一次读写一行”的方式将1.txt文件中的内容拷贝到2.txt文件中
		// 1.创建字符缓冲输入流对象 关联数据源文件
		BufferedReader br = new BufferedReader(new FileReader("1.txt"));

		// 2.创建字符缓冲输出流对象 关联目的地文件
		BufferedWriter bw = new BufferedWriter(new FileWriter("2.txt"));

		// 3.定义变量,记录读取到的内容
		String str;

		// 4.循环读取,只要条件满足就一直读,并将读取到的内容赋值给变量
		while ((str = br.readLine()) != null) {
			// 5.将读取到的内容写入到目的地文件中
			bw.write(str);
			// 容易忽略的小细节!!!!!!!!!!!!!!!!!!!
			// bw.write("\r\n");
			bw.newLine();
		}
		// 6.释放资源
		br.close();
		bw.close();
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#YF#_长沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值