Reader和Writer概要

当编码不再是ASCII时,如果假定字节和字符实质上是一样的,这也会出问题。因此,对应于输入和输出流类层次体系,java提供了一个基本上完整的镜像,用来处理字符而不是字节。

这个镜像体系中,两个抽象超类定义了读/写字符的基本API。

java.io.Reader类指定读取字符的API。

java.io.Writer类执行写字符的API。

对应输入和输出流使用字节的地方,阅读器和书写器会使用Unicode字符。

 

Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类。

InputStreamReader类包含一个底层输入流,可以从中读取原始字节。它根据指定的编码方式,将这些字节转换为Unicode字符。

OutputStreamWriter类从运行中的程序中接收Unicode字符,然后使用指定的编码方式将这些字符转化为字节,再将这些字节写入底层输出流中。

 

java.io还提供了几个原始阅读器和书写器类,它们可以读取字符而不需要一个底层输入流,这些类包括

FileReader/FileWriter

StringReader/StringWriter

CharArrayReader/CharArrayWriter

前两个类可以处理文件,后四个由java内部使用。

除了构造函数不同,这些类于所有其他阅读器和书写器类一样,都有相同的公共接口。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值