java IO流---字符流

为什么需要字符流?

  • 由于字节流操作中文不是特别的方便,所以Java就提供字符流

    • 字符流 = 字节流+编码表

用字节流复制文本文件时,文本文件也会有中文,但是没有问题,因为最终底层操作会自动进行字节拼接成中文,如何识别为中文呢

  • 汉字在存储的时候,无论选择哪种编码存储,每个字节转为int时都为负数

字符流中的编码解码问题

字符流抽象基类

  • Reader:字符输入流的抽象类

  • Writer:字符输出流的抽象类

字符流中和编码解码相关的两个类:

  • InputStreamReader

  • OutputStreakWriter

字符流写数据

 

字符流读数据

 

字符缓冲流

  • BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小,默认值足够大,可用于大多数用途

  • BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符、数组和行的高效读取,可以指定缓冲区大小,或者可以接受默认大小,默认值足够大,可用于大多数用途

构造方法:

  • BufferedWriter(Writer out)

  • BufferedReader(Reader in )

特有功能:

BufferedWriter:

  • void nextLine():写一行行分隔符,行分隔符字符串由系统属性定义

BufferedReader:

  • public String readLint():读一行文字,结果包含行的内容的字符串,不包含任何行终止字符,如果流的结尾已经到达,则为null。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值