Java_流相关
java.io包中重要的5个类3个接口
类名 | 说明 |
File | 文件类 |
InputStream | 字节流输入 |
OutputStream | 字节流输出 |
Reader | 字符输入流 |
Writer | 字符输出流 |
Closeable | 关闭流接口 |
Flushable | 刷新流接口 |
Serialize | 序列化接口 |
流的分类
流: 流动, 流向, 从一端移动到另一端. 流是一个抽象, 动态的概念
数据源: 提供原始数据的媒介, 常见的有: 数据库, 文件, 其他程序内存, 网络连接, IO设备
按方向分:
输入流: 数据源到程序(InputStream, Reader)
输出流: 程序到目的地(OutputSteam, Writer)
按功能分
节点流: 可以直接从数据源或目的地读写数据
处理留(包装流): 不直接连接到数据源或目的地, 是其他流进行封装. 主要目的是简化操作和提高性能
节点流和处理流的关系:
节点流处于IO操作的第一线, 所有操作必须通过它们进行
处理流可以对其他流进行处理(提高效率或操作灵活性)
按数据分:
字节流: 安装字节读取数据(InputStream, OutputStream)
字符流: 安装字符读取数据(Reader, Writer), 因为文件编码不同, 从而有了对字符进行高效操作的字符流 对象. 其原理还是基于字节流操作, 自动搜索了指定的码表
API使用
- 首先看继承体系
- 类的简短说明
- 常量的定义
- 构造器, 所有类都有构造器, 有的API有构造器, 有的只是没有显示
有构造器时可以用new className
创建
构造器不显示时, 一种情况可能是工具类, 如Math类; 一种情况可能某些静态方法返回这个对象 - 方法, 首先看方法名, 然后形参, 源码(可省), 返回值