更新时间:2021-12-02 16:11:23 来源:极悦 浏览1180次
Java I/O需要处理多种场景,Java类库的设计者都是通过创建大量的类来解决这个问题的,单篇文章难以详述,本文只是试图提供一个通用的概述传统I/O类库所涉及的类,以掌握整个上下文,更好地理解和应用I./O类库解决实际编程问题。具体需要参考JDK文档。
在Java 1.0中,类库的设计者首先限制所有与输入相关的类都继承自InputStream,而与输出相关的所有类都继承自OutputStream。
InputStream用于表示从不同数据源生成输入的类。这些数据来源包括:
每个数据源都有其对应的InputStream子类作为基本组件:
除了上述基本组件外,还有两个子类:FilterInputStream/FilterOutputStream,它们也是InputStream和OutputStream的子类。它们为“decorator”类提供基类,其中“decorator”类可以将属性或有用的接口连接到基本组件。因为上面提到的InputStream/OutputStream是单字节操作的,而真正的I/O场景远不止于此,它通过“装饰”来扩展其功能(原理是类的组合)。
我自己梳理了InputStream/OutputStream流继承层次结构,结合下面的讲解,可以对字节流系统有更清晰的认识:
FilterInputStream类有以下子类,即具体的装饰器:
它的装饰功能主要有两个方面:
与Filter Input Stream类似,Filter Output Stream主要完成写入功能,主要包括以下装饰器:
以上就是极悦小编介绍的"深入学习Java I/O的输入输出,看了就会",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习