Java输入输出流体系

简介: 本文介绍Java输入输出流体系的基本内容。

,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这四个类,是这两大继承体系的父类,全是抽象类。

基类 字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer

流的分类总结表

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

分类 字节输入流 字节输出流 字符输入流 字符输出流
抽象父类 InputStream OutputStream Reader Writer
访问文件 FileInputStream FileOutputStream FileReader FileWriter
访问数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
访问字符串 StringReader StringWriter
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流 InputStreamReader OutputStreamWriter
对象流 ObjectInputStream ObjectOutputStream
抽象父类 FilterInputStream FilterOutputStream FilterReader FilterWriter
打印流 PrintStream PrintWriter
推回输入流 PushbackInputStream PushbackReader
特殊流 DataInputStream DataOutputStream

流的层次结构图

image.png

字节输入流的层次结构图

image.png

字节输出流的层次结构图

image.png

字符输入流的层次结构图

image.png

字符输出流的层次结构图

image.png

相关文章
|
6月前
|
缓存 Java
JAVA带缓存的输入输出流
JAVA带缓存的输入输出流
91 0
|
6月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
44 0
|
5月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
172 2
|
4月前
|
Java 数据库
Java面试题:请解释Java中的输入输出(I/O)流?详细说明应用场景
Java面试题:请解释Java中的输入输出(I/O)流?详细说明应用场景
35 0
|
6月前
|
存储 Java 开发者
Java的输入输出流:字节流与字符流的技术性探讨
Java的输入输出流:字节流与字符流的技术性探讨
45 0
|
6月前
|
Java API
Java从入门到精通:2.1.4深入学习Java核心技术——Java的输入输出流
Java从入门到精通:2.1.4深入学习Java核心技术——Java的输入输出流
|
6月前
|
Java
Java输入输出流详细解析
Java输入输出流详细解析
Java输入输出流详细解析
|
6月前
|
Java
JAVA输入输出流
JAVA输入输出流
36 1
JAVA 输入输出流 本地文件读写
JAVA 输入输出流 本地文件读写
|
存储 Java 编译器
java之九 基本输入输出流
java之九 基本输入输出流
41 0
下一篇
无影云桌面