Java8 I/O源码-整体结构
2017-09-22 22:16
477 查看
在详细地对Java I/O系统中的各个类进行讲解前,先复习下Java I/O的整体结构。
如下图所示,基本包含了Java I/O中比较常用的类。
下面简单地介绍下它们。
对I/O整体结构的复习就到这里。想了解更多内容请参考
Java8 I/O源码系列专栏-目录
如下图所示,基本包含了Java I/O中比较常用的类。
下面简单地介绍下它们。
字节流
InputStream
InputStream是以字节为单位的输入流。类 | 介绍 | 传送门 |
---|---|---|
ByteArrayInputStream | 包含一个内部缓冲区,该缓冲区包含从流中读取的字节 | 详情 |
PipedInputStream | 和PipedOutputStream一起使用,实现多线程间的管道通信。 | 详情 |
FilterInputStream | FilterInputStream主要用途在于封装其他的输入输出流,为它们提供一些额外的功能。FilterInputStream的子类可进一步重写一些方法,并且还可以提供一些额外的方法和字段。 | 详情 |
BufferedInputStream | 用于为其他输入流提供缓冲功能。 | 详情 |
DataInputStream | 用来装饰其它输入流,以从底层输入流中读取基本Java数据类型。 | 详情 |
FileInputStream | 文件输入流,用于从文件系统中的某个文件中获得输入字节。FileInputStream用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用FileReader。 | 详情 |
ObjectInputStream | 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化 | |
SequenceInputStream | 串联输入流,将多个输入流转化为一个 | |
StringBufferInputStream | 将String转化为输入流 |
OutputStream
OutputStream是以字节为单位的输出流。类 | 介绍 | 传送门 |
---|---|---|
ByteArrayOutputStream | ByteArrayOutputStream中数据被写入一个byte数组。缓冲区会随着数据的不断写入而自动增长。 | 详情 |
PipedOutputStream | 和PipedInputStream一起使用,实现多线程间的管道通信。 | 详情 |
FilterOutputStream | FilterOutputStream主要用途在于封装其他的输入输出流,为它们提供一些额外的功能。FilterOutputStream的子类可进一步重写一些方法,并且还可以提供一些额外的方法和字段。 | 详情 |
BufferedOutputStream | 用于为其他输出流提供缓冲功能。 | 详情 |
DataOutputStream | 数据输出流允许应用程序以适当方式将基本Java数据类型写入输出流中。 | 详情 |
PrintStream | 为其他输出流提供打印功能。 | |
FileOutputStream | 文件输出流,用于将数据写入File或FileDescriptor的输出流。FileOutputStream用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用FileWriter。 | 详情 |
ObjectOutputStream | 将Java对象的基本数据类型和图形写入 OutputStream。 |
字符流
Reader
Reader是以字符为单位的输入流。类 | 介绍 | 传送门 |
---|---|---|
CharArrayReader | 用于读取字符数组,实现一个可用作字符输入流的字符缓冲区。 | 详情 |
PipedReader | 和PipedWriter一起实现线程间的通讯。 | 详情 |
FilterReader | 用于读取已过滤的字符流 | |
BufferedReader | 为另一个输入流添加缓冲功能。 | 详情 |
InputStreamReader | 是字节流通向字符流的桥梁 | 详情 |
FileReader | 用于对文件进行读取操作 | 详情 |
Writer
Writer是以字符为单位的输出流。类 | 介绍 | 传送门 |
---|---|---|
CharArrayWriter | 实现了一个字符缓冲区。缓冲区会随向流中写入数据而自动增长。 | 详情 |
PipedWriter | 和PipedReader一起是通过管道实现线程间的通讯。 | 详情 |
FilterWriter | 用于写入已过滤的字符流。 | |
BufferedWriter | 为另一个输出流添加缓冲功能。 | 详情 |
OutputStreamWriter | 是字符流通向字节流的桥梁, | 详情 |
FileWriter | 用于对文件进行写入操作。 | 详情 |
PrintWriter | 为文本输出流提供打印功能。 | 详情 |
Java8 I/O源码系列专栏-目录
版权声明 |
---|
作者:潘威威 原文地址:CSDN博客-潘威威的博客-http://blog.csdn.net/panweiwei1994/article/details/78067490 本文版权归作者所有,欢迎转载,但转载时请在文章明显位置给出原文作者名字(潘威威)及原文链接,否则作者将保留追究法律责任的权利。 |
相关文章推荐
- HDFS源码分析心跳汇报之整体结构
- protoc编译proto文件之Java源码结构分析一(addr.proto)
- protoc编译proto文件之Java源码结构分析二(person.proto)
- 【小笨鸟看JDK1.7集合源码之一】JAVA集合整体框架
- Uboot 源码分析----代码整体结构分析
- 2 (phonegap源码分析)整体结构
- jdk 源码分析(2)java hashtable的结构及hashMap对比
- Java8源码-Map整体架构
- java.lang.ref包源码分析(一):类结构
- 已有Java/Android源码项目,如何快速理解代码结构
- jdk 源码分析(5)java ConcurrentSkipListMap结构
- Java集合库整体类结构
- Java集合:整体结构
- 解析Java中PriorityQueue优先级队列结构的源码及用法
- 深入源码看JAVA集合的数据结构
- Android4.0 Launcher 源码分析1——Launcher整体结构
- java.util.concurrent 源码分析-包结构
- 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
- Java_io体系之概念与整体结构——02