转载请注明出处:jiq•钦's technical Blog
备注:阅读此文之前,建议先看我这篇博文了解阻塞式IO和非阻塞式IO的基本概念。
JAVA BIO是面向流(字节流、字符流)的,即从流中一次读取一个或者多个字节,读取和写入时都需要同步阻塞直至完成。
一、流(Stream)
1、字节流
输入(InputStream)
介质流 |
||
FileInputStream |
从文件中读取信息 |
|
PipedInputStream |
产生用于写入相关PipedOutputStream的数据,实现“管道化”概念 |
|
ByteArrayInputStream |
允许将内存缓冲区当做InputStream使用 |
|
处理流 |
||
SequenceInputStream |
将两个或多个InputStream转换为单个InputStream |
|
ObjectInputStream |
对象输入流 |
|
FilterInputStream子类 |
||
|
BufferedInputStream |
防止每次读取时都进行实际写操作,代表“使用缓冲区” |
DataInputStream |
与DataOutputStream配合使用,可以按照可移植的方式从流读取基本数据类型(int、char、long等) |
|
LineNumberInputStream |
|
|