字符流方式读写

2022-08-06 11:08:58

字符流方式读写

例如把 a.txt文件内容写到b.txt文件中
/*

  • 由于我们常见的操作都是使用本地默认编码,所以,不用指定编码。
  • 而转换流的名称有点长,所以,Java就提供了其子类供我们使用。
  • OutputStreamWriter = FileOutputStream + 编码表(GBK)
  • FileWriter = FileOutputStream + 编码表(GBK)
  • InputStreamReader = FileInputStream + 编码表(GBK)
  • FileReader = FileInputStream + 编码表(GBK)

/*
/*

  • 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中
  • 数据源:
  •  a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader -- FileReader -- BufferedReader
  • 目的地:
  •  b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter -- FileWriter -- BufferedWriter

*/

一 .基本字符流

a.txt------------(FileReader)--------->java程序------------(FileWriter)----------------->b.txt

1.一次一个字符

 int ch = 0;
		while ((ch = fr.read()) != -1) {
		 fw.write(ch);
		}

2.一次读取一个数组

int len=0;
char[] ch=new char[1024];
while ((len = fr.read(chs)) != -1) {
			fw.write(chs, 0, len);
			fw.flush();
		}

二.字符缓冲流

a.txt------------(BufferedReader)--------->java程序------------(BufferedWriter)------->b.txt

3.一次读取一个字符(BufferedReader–BufferedWriter)

	int ch = 0;
		 while ((ch = br.read()) != -1) {
			bw.write(ch);
		 }

4.一次读取一个数组

char[] chs = new char[1024];
		int len = 0;
		while ((len = br.read(chs)) != -1) {
			bw.write(new String(chs,0,len));
		}

5.一次读取一行

String line = null;
		while ((line = br.readLine()) != null) {
			bw.write(line);
			bw.newLine();//换行
			bw.flush();//刷新
		}
  • 作者:程序界的梅西
  • 原文链接:https://blog.csdn.net/weixin_40182062/article/details/89254007
    更新时间:2022-08-06 11:08:58