1、字符输入流:Writer
可以发现Writer作为字符输出流,可以直接进行字符串的输出,这一点就比Outputstream强了。
2、字符输入流:Reader
与字节输入流相比结构几乎是一样的,只是数据类型由byte更换为了char而已。
字节流与字符流的区别?
现在已经给出了两种数据流,那么开发之中到底使用哪一种?有什么区别?
字节流与字符流最大的区别是:字节流直接与终端进行数据交换,字符流需要将数据经过缓冲区处理后才可以输出。
在使用outputStream输出数据的时候即使最后没有关闭输出流,那么内容也可以正常输出,但是反过来如果使用的是字符输出流,如果不关闭,那么就表示在缓冲区之中处理的内容不会被强制性的清空,所以就不会输出数据。如果现在有特殊情况不能够关闭字符流,可以使用flush()方法强制清空缓冲区。
范例:强制清空字符流缓冲区
在开发之中,对于字节数据处理比较多的,例如:图片、音乐、电影、文章,而对于字符流最大的好处是它可以进行中文的有效处理,那么在日后开发之中,如果要处理中文的时候请先优先考虑字符流,如果没有中文问题,建议使用字节流。
总结:
实现字节流与字符流操作的转换。
字符虽然需要缓冲区处理,但是有一个问题千万不能够忽略,字符输出流有一个特点:可以直接输出字符串数据,所以有些时候就不得不进行字节流与字符流的转换操作。
总结