5.0、Java_IO流 - IO流类的基本体系结构
Java 为我们提供了多种多样的 IO 流,我们可以根据不同的功能以及性能要求挑选合适的 IO 流;
下图为 Java 中 IO 流类的基本体系结构(这里只列举出一些常用的类,详情可以参考 JDK API 文档),如下图所示 ->
下面是一些常用的流介绍,如下表所示 ->
File | File类 并不属于Java_IO体系当中的一个类,他是Java所提供的一个能够对目录或者文件进行包装的一个类型; |
RandomAccessFile | RandomAccessFile ( 随机访问流 ) 也不属于Java_IO体系,只能对文件进行读写操作的随机访问; |
InputStream | 字节输入流抽象类( 读数据 ); |
OutputStream | 字节输出流抽象类( 写数据 ); |
Reader | 字符输入流抽象类( 读数据 ); |
Writer | 字符输出流抽象类( 写数据 ); |
FileInputStream / FileOutputStream | 以字节为单位直接操作 " 文件 " ; | 节点流 ( 指的是可以直接连接数据源的流对象 ) |
ByteArrayInputStream / ByteArrayOutputStream | 以字节为单位直接操作 " 字节数组对象 "; | 节点流 |
ObjectInputStream / ObjectOutputStream | 以字节为单位直接操作对象; | 处理流(包装流)[ 指的是不能直接连接数据源的流对象 ] |
DataInputStream / DataOutputStream | 以字节为单位直接操作 " 基本数据类型 与 字符串类型 "; | 处理流(包装流) |
FileReader / FileWriter | 以字符为单位直接操作 " 文本文件 " ( 注意:只能读写 - 文本文件 ); | 节点流 |
BufferedReader / BufferedWriter | 将 Reader / Writer 对象进行包装,增加缓存功能,提高读写效率; | 处理流(包装流) |
BufferedInputStream / BufferedOutputStream | 将 InputStream / OutputStream 对象进行包装,增加缓存功能,提高读写效率; | 处理流(包装流) |
InputStreamReader / OutputStreamWriter | 将字节流对象转化成字符流对象; | 处理流(包装流) |
PrintStream | 将 OutputStream 进行包装,可以方便的输出字符,更加灵活; | 处理流(包装流) |