1. 输入流和输出流的联系和区别,字符流和字节流的联系和区别
输入流是得到数据,输出流是输出数据。
字符流和字节流是流的一种划分,按处理照流的数据单位进行的划分。
两类都分为输入和输出操作。
在字节流中输出数据主要是使用OutputStream完成,输入使InputStream
在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成
2. 节点流和处理流的联系和区别
节点流,处理流是流的另一种划分,按照功能不同进行的划分。节点流,
可以从或向一个特定的地方(节点)读写数据。
处理流是对一个已存在的流的连接和封装,通过所封装的流的功能调用实
现数据读写。如BufferedReader。
3. 列举常用的字节输入流和字节输出流并说明其特点,至少5对。
FileInputStream 从文件系统中的某个文件中获得输入字节。
ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取
的字节。
FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据
源,它可以直接传输数据或提供一些额外的功能。
ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据
和对象进行反序列化。
StringBufferInputStream 此类允许应用程序创建输入流,在该流中读
取的字节由字符串内容提供。
4. 说明缓冲流的优点和原理
不带缓冲的流的工作原理:它读取到一个字节/字符,就向用户指定的路径
写出去,读一个写一个,所以就慢了。带缓冲的流的工作原理:读取到一
个字节/字符,先不输出,等凑足了缓冲的最大容量后一次性写出去,从而
提高了工作效率
优点:减少对硬盘的读取次数,降低对硬盘的损耗。