字符流字节流之间为什么需要相互转换?

字符流字节流之间为什么需要相互转换?

字符流,字节流的具体应用场景有哪些?FileInputStream是将文件转换为字节流,InputStreamReader将字节流转化为字符流,传输用的是字节流,使用编辑文件时要用到字符流,可以这样理解吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

InputStream不可以读取文件,它是一个Abstract的类,根本不可能实例化,是所有输入流的基类。而FileInputStream是InputStream的一个实现类,用于读取诸如图像数据之类的原始字节流。InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流。祝:学习愉快

  • tataxqy #1
    请问字符流和字节流的区别在于哪里?
    2017-12-25 09:13:57
  • irista23 回复 tataxqy #2
    1)字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的;2)字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不close的情况下输出内容;3)在所有的硬盘上保存文件或进行传输的时候都是以字节的方法进行的,包括图片也是按字节完成,而字符是只有在内存中才会形成的,所以使用字节的操作是最多的。
    2017-12-25 10:03:00
  • tataxqy 回复 irista23 #3
    啊还想请问下为什么要对他们进行相互转化呢?直接用字节流操作不就好了吗?
    2017-12-25 10:34:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师