Java中,字节流和字符流的区别?

字节流和字符流的使用非常的相似,在面试或者在笔试的过程当中往往会遇到,那么,带着大家一起看看他们的区别在哪里?在这里, 我就简明扼要的阐述。

                                   

字节流与字符流的区别?

1.字节流操作的基本单元是字节,字符流操作的基本单元是Unicode码元。

2.字节流默认不使用缓冲区,而字符流使用缓冲区。

3.字节流通常用于处理二进制数据,实际上他可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元。字符流通常处理文本数据,它支持写入及读取 Unicode码元。

4.字节流输入流都是以InputStream结尾,字节流输出流都是以OutputStream结尾。在InputStream和OutputStream前面代表这个流的作用。字符输入流都以Reade结尾,字符输出流都以Writer结尾。相同于字节流前面也是代表这个流的作用。

以上就是他们基本的区别,但面试官不会就此罢休,还会接着问他们之间转换的桥梁是什么?那就要留心了,他的意思是:字节流如何转换成字符流,字符流如何转换成字节流?

 字符流与字节流转换的桥梁?

1.字节输入流转换为字符输入流:

InputStreamReade是字节流通向字符流的桥梁,它使用定制的charset读取字节并将其解码为字符,它使用的字符集可以由名称给定或显示给定。

2.字节输出流转换为字符输出流:

OuterStreamReader是字符流通向字节流的桥梁,它使用定制的charset将要写入流中的字符编码成字节,它使用的字符集可以由字符集指定或显示给定,否则将接受默认的字符集。

面试官还会问,常用的字节流和字符流有哪些?

对于这个问题,就比较简单了,就是说出一些你常用的字节流和字符流,例如: FileInputStream、FileOutputStream、FileReader、FileWriter……等等,在这里我就不一一 举例了!

作者:Roger_CoderLife

链接:https:blog.csdn.net/Roger_CoderLife/article/details/81358859

本文为Roger_CoderLife的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!

猜你喜欢

转载自blog.csdn.net/Roger_CoderLife/article/details/81358859