Java字符缓冲流BufferedWriter(输出).BufferedReader(输入)基本操作以及文本文件复制


	public static void main(String[] args) throws IOException {
		//demoOne();//写
		//demoTwo();//读
		//demoTest();//文本文件的复制操作
	}
	/**
	 * 文本文件复制操作,注意:只能操作文本文件,其他文件复制后也不能使用(编码表原因)
	 */
	private static void demoTest() throws IOException {
		BufferedReader br = new BufferedReader(new FileReader("D:\\a.txt"));
		BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\a.txt"));
		char[] c = new char[1024];
		int len = 0;
		while((len =br.read(c)) != -1){
			bw.write(c, 0, len);
			bw.flush();
		}
		bw.close();
		br.close();
		System.out.println("复制完成");
	}
	/**
	 * BufferedReader();字符输入缓冲流
	 * 	构造参数:
	 * 		FileReader,默认读取编码格式GBK
	 * 		InputStreamReader,转换流,可以根据需要改变编码
	 */
	private static void demoTwo() throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\a.txt"),"UTF-8"));
		char[] c = new char[1024];
		int len = 0;
		//普通读取方法
		//while((len = br.read(c)) != -1){
		//	System.out.println(new String(c, 0, len));
		//	}
		
		//读取一行
		//String readLine = br.readLine();//独有方法,读取一行文本信息,可以使用此方法每次读取一行进行读取文本,如果到达文件末尾则返回null
		//System.out.println(readLine);
		
		String data = "";
		while((data = br.readLine()) != null){
			System.out.println(data);//如果输出也是br.readLine()那么循环读取到的是第一行,输出读取到的是第二行
		}
		
		br.close();
	}

	/**
	 * BufferedWriter();字符输出缓冲流
	 *   构造参数:
	 * 		FileWriter,如果不需要转换编码,直接使用默认编码GBK即可
	 * 		OutputStreamWriter
	 */
	private static void demoOne() throws IOException{
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\a.txt"), "UTF-8"));
		bw.write("你好!");
		bw.flush();
		
		bw.newLine();//换行写入,省去\r\n,BufferWriter独有方法,平台无关性,windows:\r\n,Linux:\n
		
		bw.write("我好大家好");
		bw.flush();//记得刷新
		
		bw.close();
		System.out.println("写入完成");
	}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值