一、字节流与字符流之间的区别:

1.读写单位不同:字节流式以字节(8位2进制)为单位,字符流是以字符为单位,根据码表映射字符,一次可能读多个字节。
2.处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
3.字节流:一次读入或读出是8位二进制。
4.字符流:一次读入或读出是16位二进制。
结论:只要是纯文本数据优先使用字符流,除此之外都使用字节流。

二、输入流和输出流的用途

输入流是指程序从数据源中读取数据。只进行读操作;
输出流是指将数据从程序中写到指定的文件中;

节点流和处理流的概念

节点流:直接与数据相连,进行数据的读写;
处理流:是指在节点流上套接了一层。
常用的节点流
1.文 件 :FileInputStreamFileOutputStreanFileReaderFileWriter 文件进行处理的节点流
2.数 组 :ByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriter 对数组进行处理的节点流(对应的不再是文件,而是内存中的一个数组)
3.字符串 :StringReaderStringWriter 对字符串进行处理的节点流
4.管 道 :PipedInputStreamPipedOutputStreamPipedReaderPipedWriter 对管道进行处理的节点流
常用的处理流
1.缓冲流:BufferedInputStreanBufferedOutputStreamBufferedReaderBufferedWriter 增加缓冲功能,避免频繁读写硬盘。
2.转换流:InputStreamReaderOutputStreamReader实现字节流和字符流之间的转换。
3.数据流: DataInputStreamDataOutputStream 等-提供将基础数据类型写入到文件中,或者读取出来。
八.转换流
InputStreamReaderOutputStreamWriterInputStreamOutputStream作为参数,实现从字节流到字符流的转换。