字符流、字节流
字节与字符
Bit最小的二进制单位 ,是计算机的操作部分。取值0或者1
Byte(字节)是计算机操作数据的最小单位由8位bit组成 取值(-128-127)
Char(字符)是用户的可读写的最小单位,在Java里面由16位bit组成 取值(0-65535)
字节流
操作byte类型数据,主要操作类是OutputStream、InputStream的子类;不用缓冲区,直接对文件本身操作。
字符流
操作字符类型数据,主要操作类是Reader、Writer的子类;使用缓冲区缓冲字符,不关闭流就不会输出任何内容。
互相转换
整个IO包实际上分为字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类。
OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象。
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。
输入流、输出流
输入、输出,有一个参照物,参照物就是存储数据的介质。如果是把对象读入到介质中,这就是输入。从介质中向外读数据,这就是输出。
所以,输入流是把数据写入存储介质的。输出流是从存储介质中把数据读取出来。