主要内容:流的概念、Java四大IO抽象类
流的概念
流是一个抽象动态的概念,是一连串动态连续的数据集合。
对于输入流而言,数据源就像水箱,流(A Stream)就像水管中流动的水流,程序就是我们的最终用户。我们通过流(A Stream)将数据源(Source)中的数据(Information)输送到程序(Program)中。
对于输出流而言,目标数据源就是目的地(dest),我们通过流将程序(program)中的数据(information)输送到目的数据源(dest)中。
注意:输入/输出流的划分是对程序而言,并不是相对数据源。
Java四大IO抽象类
流分为字节流和字符流。字节流提供了字节输入流和字节输出流;字符流提供了字符输入流和字符输出流。
InputStream/OutputStream/Reader/Writer抽象类对应的是字节输入流/字节输出流/字符输入流/字符输出流的抽象类。这四个抽象类是所有IO流的抽象父类。
InputStream
是表示字节输入流的所有类的父类,这是一个抽象类,不可以实例化,数据的读取需要由它的子类来实现,根据节点的不同,它派生了不同的节点流子类。继承自InputStream的流都是用于向程序中输入数据,且数据单元是8位字节(byte)
常用方法:
int read():读取一个字节的数据,并将字节的值作为int类型返回(0-255之间的一个值)。如果未读出字节则返回-1(返回值为-1表示读取结束)。
void close():关闭输入流对象,释放相关系统资源。
OutputStream
此抽象类表示字节输入流的所有类的父类,输入流接收输出字节并将这些字节发送到某个目的地。
常用方法:
void write(int n):向目的地中写入一个字节。
void close():关闭输出流对象,释放相关系统资源。
Reader
此类是用于读取的字符流抽象类,数据单元是16位字符(Unicode)
常用方法
int read():读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode值)。如果未读出字符则返回-1(返回值为-1表示读取结束)。
void close():关闭流对象,释放相关系统资源。
Writer
Writer用于输出的字符流抽象类,数据单位为字符。
常用方法:
void wrte(int n):向输出流中写入一个字符。
void close():关闭输出流对象,释放相关系统资源。