您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java】浅谈Java的I/O体系

星拱北辰 发布时间:2020-03-08 00:57:11 ,浏览量:0

文章目录
  • 流(Stream)
    • 流的分类
    • java.io.*
    • I/O体系的四大抽象类
  • 流的分类总结表
  • 流的层次结构图
    • 字节输入流的层次结构图
    • 字节输出流的层次结构图
    • 字符输入流的层次结构图
    • 字符输出流的层次结构图

流(Stream)

流,代表的是程序中数据的流通。 数据流是一串连续不断的数据的集合,而每一比特的数据,就如同水管(假设足够狭窄)中串行流淌的一滴水。

在Java程序中,对于数据的 I/O 操作是以流的方式进行的。 我认为,“流”这个概念,构建起了Java整个I/O体系的框架。

在学习《程序设计基础》的时候,我们就应该知道——I/O的数据流向和我们固有的认知相反: 输入流:流入程序的数据 输出流:流出程序的数据

在Java程序中,从输入流读取数据(读到内存中),而从输出流输出数据(从内存存储到文件或显示到屏幕上)。

流的分类
  • 按流的方向不同
    • 输入流
    • 输出流
  • 按处理数据的单位不同
    • 字节流
    • 字符流
  • 按功能不同
    • 节点流
    • 处理流
java.io.*

Java语言中,控制数据流的类都放在java.io包中 java.io包中有两大继承体系:

  • 以byte处理为主的Stream类, 其命名方式是:XXXStream(XXXInputStream/XXXOutputStream)
  • 以字符处理为主的Reader/Writer类,他们的命名方式是:XXXReader/XXXWriter
I/O体系的四大抽象类

InputStream、OutputStream、Reader、 Writer这四个类,是这两大继承体系的父类,全是抽象类。 在这里插入图片描述

流的分类总结表

Note:斜体表示抽象类,加粗表示节点流。

分类字节输入流字节输出流字符输入流字符输出流抽象父类InputStreamOutputStreamReaderWriter访问文件FileInputStreamFileOutputStreamFileReaderFileWriter访问数组ByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriter访问管道PipedInputStreamPipedOutputStreamPipedReaderPipedWriter访问字符串StringReaderStringWriter缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter转换流InputStreamReaderOutputStreamWriter对象流ObjectInputStreamObjectOutputStream抽象父类FilterInputStreamFilterOutputStreamFilterReaderFilterWriter打印流PrintStreamPrintWriter推回输入流PushbackInputStreamPushbackReader特殊流DataInputStreamDataOutputStream 流的层次结构图

在这里插入图片描述

字节输入流的层次结构图

在这里插入图片描述

字节输出流的层次结构图

在这里插入图片描述

字符输入流的层次结构图

在这里插入图片描述

字符输出流的层次结构图

在这里插入图片描述

关注
打赏
1660750074
查看更多评论
立即登录/注册

微信扫码登录

0.0987s