Java字节流与字符流的区别

114 篇文章 2 订阅
113 篇文章 1 订阅

前言

最近又复习了一下关于Java字节流与字符流的知识,有些总结记录一下

区别概述

在Java关于I/O读写的API中,字符流处理的单元为 两个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。

Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。

记住一点,底层设备永远只接受字节数据,有时候要写字符串到底层设备,需要将字符串转成字节再进行写入。字符流是字节流的包装,字符流则是直接接受字符串,它内部将串转成字节,再写入底层设备,这为我们向IO设别写入或读取字符串提供了一点点方便。

字符向字节转换时,要注意编码的问题,因为字符串转成字节数组,

其实是转成该字符的某种编码的字节形式,读取也是反之的道理。

具体代码示例

方式一

【使用字节流输入,字节流输出。

使用了字节缓冲区】

Java字节流与字符流的区别

方式二

【使用字符流输入,字符流输出。

使用了字符缓冲区】

Java字节流与字符流的区别

方式三

【使用字符流输入,字符流输出,

没有使用缓冲区,直接读行】

Java字节流与字符流的区别

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值