思维导图
按流向划分
输入流:用于从数据源(如文件、网络连接等)读取数据到程序中。在 Java中,所有输入流的基类是InputStream(处理字节)和Reader(处理字符)。
- InputStream:是字节输入流的抽象基类,常见的子类有FileInputStream(从文件读取字节)、ByteArrayInputStream(从字节数组读取字节)等。
- Reader:是字符输入流的抽象基类,常见子类有FileReader(从文件读取字符)、BufferedReader(带缓冲功能,提高读取效率)等。
输出流:用于将程序中的数据写入到目的地(如文件、网络连接等)。所有输出流的基类是OutputStream(处理字节)和Writer(处理字符)。
-
OutputStream:是字节输出流的抽象基类,常见子类有FileOutputStream(将字节写入文件)、ByteArrayOutputStream(将字节写入字节数组)等。
-
Writer:是字符输出流的抽象基类,常见子类有FileWriter(将字符写入文件)、BufferedWriter(带缓冲功能,提高写入效率)等。
按处理数据单位划分
字节流:以字节(8 位)为单位进行数据处理,适合处理二进制数据,如图片、音频、视频等。字节流的基类是InputStream和OutputStream。
- 例如,使用FileInputStream和FileOutputStream可以实现文件的复制
import java.io.FileInputStream;
import java.io.FileOutputStream;
import