IT Notes‎ > ‎Java‎ > ‎Java Language‎ > ‎

Java IO 简要笔记

Java IO 是 Java API 的重要内容,因为体系比较庞大,初看去,比较麻烦,这里整理一下。

Java IO 流包含多种数据类型,可以字节,元数据类型,本地字符,Java 对象等。流可以只是传递数据,也可以对数据进行操作,对流进行转化。前者有时也称为「节点流」,后者有时也称为「处理流」。

1. 流的种类

Java IO 流有两种:面向字节的字节流(byte stream)和面向字符的字符流(character stream)。在这两种分类之下,还有若干子类。可以认为所有的流类型,最终都是基于字节流的。

2. 流的方向

「大江东去……」,水流是有方向的。
Java IO 流也是有方向的,分为:写入和读取。
对字节流而言,两个顶级接口是:InputStream, OutputStream
对字符流而言,两个顶级接口是:Reader, Writer
以上四个 class,都是 abstract class

InputStream 和 OutputStream 继承树:
InputStream OutputStream

Reader 和 Writer 继承树:
Reader, Writer

3. 缓冲流(Buffer)

缓冲流是操作流,套在节点流之上。

在 nio 中,对应各原数据类型,有如下一些 Buffer 类:
ByteBuffer
CharBuffer
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
DoubleBuffer
(TODO)

4. 流的转化

byte -> char
没有 char -> byte

5. NIO

此处简要记录,需要专门开启一个页面描述。TODO

6. 几个实例

TODO




Comments