字符流与字节流的区别是什么?
一、字符流与字节流的区别
1. 读写单位不同
字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
字节流默认不使用缓冲区;字符流使用缓冲区。字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;字符流通常处理文本数据,它支持写入及读取Unicode码元。
2. 处理对象不同
字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
3. 处理方式不同
Java的字节流
InputStream是所有字节输入流的祖先
OutputStream是所有字节输出流的祖先。
Java的字符流
Reader是所有读取字符串输入流的祖先
writer是所有输出字符串的祖先。
延伸阅读:
二、字节流和字符流介绍
字节流
Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流。
字符流
Java中的字符流处理的最基本的单元是Unicode码元(大小2字节),它通常用来处理文本数据。所谓Unicode码元,也就是一个Unicode代码单元,范围是0x0000~0xFFFF。在以上范围内的每个数字都与一个字符相对应,Java中的String类型默认就把字符以Unicode规则编码而后存储在内存中。
然而与存储在内存中不同,存储在磁盘上的数据通常有着各种各样的编码方式。使用不同的编码方式,相同的字符会有不同的二进制表示。实际上字符流是这样工作的:
输出字符流:把要写入文件的字符序列(实际上是Unicode码元序列)转为指定编码方式下的字节序列,然后再写入到文件中;
输入字符流:把要读取的字节序列按指定编码方式解码为相应字符序列(实际上是Unicode码元序列从)从而可以存在内存中。
以上就是关于字节流和字符流的内容希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
VBS 和 Powershell 有什么区别?
一、VBS 和 Powershell 的区别VBSVBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。用记事本就详情>>
2023-10-11 23:04:33
时间敏感网络中流量整形与流量调度算法的区别是什么?
一、时间敏感网络中流量整形与流量调度算法的区别简单来说,整型算法是在流量尺度上的,比如名列前茅秒流量是 10Mb 第二秒是 2Mb,整型器可以把...详情>>
2023-10-11 22:03:47
执行字节码的虚拟机和执行机器码的物理机有什么区别?
一、执行字节码的虚拟机和执行机器码的物理机的区别执行字节码的虚拟机和执行机器码的物理机之间有以下区别:1、编译和执行方式不同执行机器码...详情>>
2023-10-11 21:14:20
卫星定位和基站定位的区别?
一、卫星定位和基站定位的区别1、定位方式不同基站定位是根据看到的通信铁塔为基准进行的定位。任何一部手机,只要在信号覆盖的地方,随时随地...详情>>
2023-10-11 18:41:09热门推荐
VBS 和 Powershell 有什么区别?
沸js中==和===的区别?
热时间敏感网络中流量整形与流量调度算法的区别是什么?
热数据科学、大数据、人工智能、机器学习有什么区别?
新执行字节码的虚拟机和执行机器码的物理机有什么区别?
PaaS 和 SaaS 有什么区别?
XFS 文件系统中soft limit 和 hard limit 有什么区别?
直接敲击加号键和按住shift敲加号键有什么区别?
store与save有哪些区别?
卫星定位和基站定位的区别?
软件层和应用层有哪些区别?
Ghost与复制有哪些区别?
mybatis与hibernate区别?
搞c的和搞java的有啥区别?
技术干货






