且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

字节流与字符流的区别|学习笔记

更新时间:2022-03-07 21:36:34

开发者学堂课程【Java 高级编程字节流与字符流的区别】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/314


字节流与字符流的区别


一、字节流与字符流的区别

1、现在通过一系列的分析已经可以清楚字节流与字符流的基本操作了,但是对于这两类流依然是存在有区别的,重点分析一下输出的处理操作。

OutputStream 和 Writer 输出的最后发现都使用了 close (方法进行了关闭处理。


2、在使用 OutputStream 类输出的时候如果发现没有使用 close() 方法关闭输出流,内容依然可以实现正常的输出。

在使用 Writer 类输出的时候,如果没有使用 close() 方法关闭输出流,那么这时内容无法进行输出,因为 Writer 使用到了缓冲区。

 

3、当使用了 close() 方法的时候,实际上会出现有强制刷新缓中区的情况,所以这个时候会将内容进行输出。

如果没有关闭,那么将无法进行输出操作。

所以此时如果在不关闭的情况下,要想将全部的内容输出可以使用 flush() 方法强制性清空。

(1)范例:使用 Writer 并强制性清空

字节流与字符流的区别|学习笔记


(2)字节流在进行处理的时候并不会使用到缓冲区,而字符流会使用到缓冲区。

另外,使用缓冲区的字符流更加于进行中文数据的处理。所以在日后的程序开发之中,如果要涉及到包含有中文信息的输出一般都会使用字符流处理。


(3)但是从另一方面来说,字节流和字符流的基本处理形式是相似的。

由于IO很多情况下都是进行数据的传输使用(二进制),所以本次讲解将以字节流为主