- java.io包下包含输入流和输出流,每种流又分为字节流和字符流两类,字节流支持以byte(8位)为单位进行操作,字符流支持以字符(16位)为单位进行操作。
- Java的IO流使用装饰者模式,把IO流分为节点流和处理流,节点流直接和底层的物理存储节点关联,虽然从不同物理节点获得的节点流可能存在差异,但是程序可以把不同的物理节点流包装成统一的处理流。
- InputStream/Reader 是所有输入流的抽象基类,不能实例化,InputStream和Reader所提供的方法功能基本相同,不同之处在于InputStream提供基于byte的读,Reader提供了基于char的读
InputStream 提供的方法: int read(); int read(byte[] b); int read(byte[] b, int off, int len); Reader 提供的方法: int read(); int read(char[] c); int read(char[] c, int off, int len);
- OutputStream/Writer
- 节点流的构造参数是物理IO节点,处理流的构造参数是已经存在的流
网友评论