// 字符缓冲流 和 redis中的管道非常像,就是将数据都放到一个缓冲的地方(redis中称为管道),然后最后一起执行操作
import java.io.*;
public class Demo33Class {
public static void main(String[] args) throws IOException {
// 1. 定义写缓冲字符流
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("D:\\software\\javadome\\file\\test3.txt"), true));
// 2. 定义读缓冲字符流
BufferedReader br = new BufferedReader(new FileReader(new File("D:\\software\\javadome\\file\\test4.txt")));
// 3. 将test4.txt中的数据放到test3.txt中
// 3.1 将读取的char放到char数组中缓冲
char[] buffByte = new char[1024];
int len = 0;
// 3.2 遍历读取写入
while ((len = br.read(buffByte))!=-1){
bw.write(buffByte, 0, len);
// 换行
bw.newLine();
}
// 4. 关闭,防止内存泄漏(先关闭写,再关闭读操作)
bw.close();
br.close();
System.out.println("====================");
// 转换流的使用
// 以gbk的方式来写入数据
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(new File("D:\\software\\javadome\\file\\testgbk.txt"),true), "GBK");
// 以utf-8的方式来写出数据
InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("D:\\software\\javadome\\file\\testutf.txt")));
char[] buffByte1 = new char[1024];
int len1 = 0;
// 遍历读取写入
while ((len1 = isr.read(buffByte1))!=-1){
osw.write(buffByte1, 0, len1);
osw.write("\r\n");
}
// 关闭,防止内存泄漏(先关闭写,再关闭读操作)
osw.close();
isr.close();
}
}
java中的缓冲流和转换流
最新推荐文章于 2024-03-22 10:23:01 发布
该博客介绍了Java中字符缓冲流(BufferedWriter和BufferedReader)的使用,通过它们实现文件之间的数据复制。同时展示了如何使用OutputStreamWriter和InputStreamReader进行不同字符编码(GBK和UTF-8)的文件转换。在操作完成后,正确地关闭了相关流以防止内存泄漏。
摘要由CSDN通过智能技术生成