李成笔记网

专注域名、站长SEO知识分享与实战技巧

Java字节流与字符流的区别 java输入输出处理中字节流与字符流的区别与联系

前言

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

区别概述

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

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

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

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

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

具体代码示例

方式一

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

使用了字节缓冲区】

方式二

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

使用了字符缓冲区】

方式三

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

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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言