java结构体系_java io结构体系
Java IO体系结构看似庞大复杂,其实有规律可循,要弄清楚其结构,需要明白两点:
1. 其对称性质:InputStream 与 OutputStream, Reader 与 Writer,他们分别是一套字节输入-输出,字符输入-输出体系
2. 原始处理器(适配器)与链接流处理器(装饰器)
其结构图如下:
Reader-Writer体系
1. 基类
InputStream与OutputStream是所有字节型输入输出流的基抽象类,同时也是适配器(原始流处理器)需要适配的对象,也是装饰器(链接流处理器)装饰对象的基类.
2. 原始流处理器
原始流处理器接收Byte数组对象,String对象,FileDescriptor对象将其适配成InputStream,以供其他装饰器使用,他们都继承自InputStream 包括如下几个:
ByteArrayInputStream: 接收Byte数组为流源,为多线程通信提供缓冲区操作功能
FileInputStream: 接收一个File作为流源,用于文件的读取
PipedInputStream: 接收一个PipedOutputStream,与PipedOutputStream配合作为管道使用
StringBufferInputStream: 接收一个String作为流的源(已弃用)
3. 链接流处理器
链接流处理器可以接收另一个流处理器(InputStream,包括链接流处理器和原始流处理器)作为源,并对其功能进行扩展,所以说他们是装饰器.
1) FilterInputStream继承自InputStream,是所有装饰器的父类,FilterInputStream内部也包含一个InputStream,这个InputStream就是被装饰类--一个原始流处理器,它包括如下几个子类:
BufferedInputStream: 用来将数据读入内存缓冲区,并从此缓冲区提供数据
DataInputStream: 提供基于多字节的读取方法,可以读取原始数据类型(Byte, Int, Long, Double等等)
LineNumberInputStream: 提供具有行计数功能的流处理器
PushbackInputStream: 提供已读取字节"推回"输入流的功能
2) ObjectInputStream: 可以将使用ObjectOutputStream写入的基本数据和对象进行反串行化
3) SequenceInputStream: 可以合并多个InputStream原始流,依次读取这些合并的原始流
对于OutputStream, Reader, Writer的体系结构也跟InputStream的结构类似
java结构体系_java io结构体系相关推荐
- java io框架图_Java IO流体系继承结构图解析
Java IO体系结构看似庞大复杂,其实有规律可循,要弄清楚其结构,需要明白两点: 1. 其对称性质:InputStream 与 OutputStream, Reader 与 Writer,他们分别是 ...
- java io体系_java IO流的体系结构图
常用字节流字符流 字节流 InputStream ...
- java 类隔离_Java类装载体系中的隔离性
正文 Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并 不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯 ...
- java 循环关键字_Java循环结构_常量_关键字
一.循环 定义:当满足一定条件的时候,重复执行某一段代码的操作 while.for.do...while是Java的循环 二.While循环 语法格式: int i = 0://初始化值 while( ...
- java课程体系_Java学习课程体系
最近一直在忙项目和课程,每每当这个时候就会发现自己一直在忙,而在此过程中没有什么积累和沉淀,所以最近总结了一下,对于Java开发过程中所需要用到的技术点,后面有时间的话,会一一进行相应的课程录制,希望 ...
- java 拒绝访问_java.io.FileNotFoundException: ……(拒绝访问。)
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\jwgl00 ...
- java 数据流对比_Java IO流之字符流字节流区别
java IO流主要是对字符字节的操作,企业应用比较广泛,比如最常见的导入导出.... 一.IO流的分类: 1.根据处理数据类型的不同分为:字符流(Reader,Writer)和字节流(InputSt ...
- java输入文件内容_java Io流向指定文件输入内容
package com.hp.io; import java.io.*; public class BufferedWriterTest{ public static void main(String ...
- java 流 中文_Java IO流之中文乱码
相信有过学过JavaEE的人们都有遇到过中文乱码问题吧,最简单的就是表单数据提交时中文出现乱码,乱码难解决吗?其实不难,只要掌握好编码的设置,乱码神马的一边去. 今天主要就讲讲一些常用的可以设置编码的 ...
最新文章
- 使用脚本完成AutoCAD自动化任务课程
- Spring选择哪种注入方式
- cisco最经典书籍 下载(全CCIE们的结晶)转载资料
- 交换机、路由器、PIX密码恢复
- Android——selector背景选择器的使用详解(二)
- 家里的狗为什么打不过猫
- 骆天涯:gunicorn部署Flask服务
- 使用花生壳做内网穿透
- xbox360fsd更新游戏封面_xbox360自制系统fsd更新封面教程
- 五合一建站系统YouDianCMS开源啦
- MySQL 中的定时任务
- nginx常用配置和用法
- 【从零搭建后端基础设施系列(九)】-- VM容器化
- 双搜----用两只眼睛看世界
- JAVA程序的逻辑控制及输入输出
- matlab 资料分享
- 前端埋点需求(vue.js)
- 4部网页配色电子书库之第4部——网站配色方案赏析
- 优酷android手机客户端for,优酷手机客户端
- wxml 点击图片下载_跟着做,零基础也能做出自己的小程序