java中怎么判断流类是字符流还是字节流
这个问题在面试中很常见,也比较容易搞混淆。java的IO操作中有面向字节(byte)和面向字符(Character)两种方式。
面向字节的操作以8位为单位对二进制数据进行操作,对数据不进行转换,这些类都是inputStream和outputStream的子类。
面向字符流以字符为单位对数据进行操作,在读的时候将二进制转为字符,在写入的时候将字符装换为二进制数据,这些类都是Reader和Writer的子类。
从上面可得出inputStream(输入)和outputStream(输出)为后缀的是字节流;以Reader(输入)和Writer(输出)为后缀的是字符流。
此内容是在一本书中了解到,由于本人对IO方面可能没太深入所以记录下来了,希望也对大家有帮助^-^