java输入流和输出流 “字节流”与“字符流”有什么区别?

“字节流”与“字符流”有什么区别?字节流和字符流的主要区别在于它们的处理方法。字节流是最基本的,采用ASCII编码。InputStream和OutputStream的所有子类都主要用来处理二进制数据,

“字节流”与“字符流”有什么区别?

字节流和字符流的主要区别在于它们的处理方法。字节流是最基本的,采用ASCII编码。InputStream和OutputStream的所有子类都主要用来处理二进制数据,二进制数据是按字节处理的,而现实中很多数据是文本,因此提出了字符流的概念,采用Unicode编码。它根据虚拟机的编码方式进行处理,即对字符集进行变换。两者通过inputstreamreader和outputstreamwriter相关联,实际上是通过byte[]和string

字符流:字符流以reader和writer结尾,一次处理两个Unicode字节。Reader是输入流,writer是输出流。常见的有FileReader、filewriter、bufferreader、bufferwriter等。字节流:以OutputStream和InputStream结尾的流是字节流,一次只能处理一个字节。在使用中,字符流、缓冲流或转换流通常设置在字节流上,以便于数据处理。