在Java中,可从中读出一系列数据的对象称为“输入流”,而能向其中写入一系列数据的对象称为“输出流”。Java的输出/输入都是通过继承抽象类InputStream和OutputStream(面向字节)、Reader和writer(面向字符)来实现的。
文件IO基本操作
在java.io包中流的操作主要有字节流、字符流两大类,两者都有输入和输出的操作。在字节流中输出数据主要使用OutputStream类完成,输入使用InputStream类。在字符流中输出主要是使用Writer类完成,输入主要使用Reader类完成。
在Java中IO操作也有相应的步骤,以文件的操作为例,主要的操作流程如下:
(1) 使用File类打开一个文件。
(2) 通过字节流或字符流的子类指定输出位置。
(3) 进行读/写操作。
(4) 关闭输入/输出。
字节流和字符流区别
实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身操作的,二字符流在操作时使用了缓冲区,通过缓冲区在操作文件。