【Java】I/O类库

InputStream 与 OutputStream

在Java 1.0中,限定所有与输入有关的类都应继承于InputStream,所有与输出有关的类都应继承于OutputStream。

这些类的继承图可参看这里1。其中,FilterInputStream为decorator类提供基类,至于Decorator Design Pattern可参看ProgramCreek2

Reader 与 Writer

Java 1.1对基本的I/O流进行了重大的修改,引入了Reader 与 Writer类,兼容Unicode与面向字符的I/O功能;同时InputStream 与 OutputStream在面向字节形式的I/O中仍有重要的应用。

有关Reader的类图可参看这里3。下面给出InputStream、 Reader的类继承图,OutputStrem与Writer的类继承图与之相似。

图片描述

图片描述

代码示例

java.io.InputStreamReader(InputStream) (returns a Reader)
java.io.OutputStreamWriter(OutputStream) (returns a Writer)

上面的代码表示通过InputStream返回一个Reader,用到了Adapter Design Pattern4

//System.in is an InputStream object
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

//txt file as input
BufferedReader input = new BufferedReader(new FileReader("test.txt"));

BufferedReader对读入的文件进行缓冲。上面的代码用到了Decorator Design Pattern2


  1. Java Design Pattern: Adapter
  2. java io class hierarchydiagram
  3. Java Design Pattern: Decorator – Decorate your girlfriend
  4. Java I/O class diagram
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值