Java I/O 系统 (四)

Reader和Writer

 

当我们初次看见Reader和Writer类时,可能会以为这是两个用来替代InpuStream和OutputStream的类,但实际上并非如此,尽管一些原始的流类不在被使用,但是InpuStream和OutputStream在面向字节形式的I/O中仍可以提供极有价值的功能。Reader和Writer则提供兼容Unicode与面向字符的I/O功能。

 

一、数据的来源和去处

几乎所有的原始的Java I/O流类都有相应的Reader和Writer类来提供天然的Unicode操作。然后在某些场合,面向字节的InputStream和OutputStream才是正确的解决方案;特别是,java.util.zip类库就是面向字节而不是字符。因此,最明智的做法是尽量尝试使用Reader和Writer,一旦程序代码无法成功编译,我们就会发现自己不得不使用面向字节的类库。

 

来源于去处 Java1.0相应的 Java1.1 
 InputStreamReader 
 OutputStreamWriter 
 FileInputStreamFileReader 
 FileOutputStreamFileWriter 
 StringBufferInputStreamStringReader 
 StringWriter 
ByteArrayInputStream CharArrayReader 
ByteArrayOutoutStream CharArrayWriter 
 PipedInputStreamPipedReader 
 PipedOutputStreamPipedWriter 

 

大体上我们会发现,这两个不同的继承层次结构中的接口即使不能说完全相同,但也是非常相似。

 

二、更改流的行为

 

三、未发生变化的类

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值