字节流与字符流的区别

1.什么是字节流,字符流?
从字面上显而易见字节流是由字节组成的,字符流是由字符组成的。
2.两者区别
(1)在Java中字节流主要操作的是InputStream和OutputStream两个类。字符流主要操作Reader和Write两个类。
(2)字节流读取的时候,读到一个字节就返回一个字节。而字符流,读到一个或多个字节时,先去指定的编码表中寻找,待找到对应的字符就返回,否则乱码。
(3)字节流可以处理多种数据类型,如音频文件,图片,MP3等,而字符流只能处理字符数据,所以遇到文本文件,优先考虑用字符流处理。
(4)字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java 虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!
3.扩充
(1)所有文件读入,写入结束后都需关闭流。特别是写入,因为磁盘和程序存在缓冲区,如果不关闭,被写入的数据还存在缓冲区,此时文件是空白的。
(2)字节流用到的FileOutputStream(s),默认指向头部,即每次写入时都会从文件头部开始。如果要想向文件尾部添加数据,需要用FileOutputStream(s,ture)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值