java中io流中显示中文_关于JAVA中IO流相关问题概述

流是用于连接程序和设备之间的管道,主要用于数据传输。这个管道上有很多“按钮”,每个“按钮”可以实现不同的功能。

四大基本抽象流:输入流,输出流,字节流,字符流 (流可以看成特殊的类)

文件流,缓冲流 ,转换流,数据流,print流 , object流

read input 是输入流,write output是输出流 read write是字符流 input output是字节流

示例1:注意字符流和字节流输出结果的差异

6aea75f612647f8a9014c08f51504abd.png

d63ff5d78ab46cfd38673bee93e56d2d.png

由上可知,字符流可以完整的显示汉字,而字节流不行,这是因为字符流一次读取2字节,字节流一次只读取1字节,但一个汉字有2字节,所以字节流输出中文的时候就显示错误(字母和数字只要1字节)

所以字符流读取速度较字节流快,但字符流只能复制文本,像音频视频等媒体文件只能操作字节流。

示例2,我们操作字节流来进行图片复制的功能:

12b50f40f9ed66141f70852bc8f90672.png

示例3:缓冲流(注意区别缓冲流和虚拟内存,二者并无关系,只是虚拟内存中使用到了流的概念,具体的在此就不进行扩展了)

关于缓冲的概念可以参照电影播放过程中缓冲的情况,减少播放卡顿,观影体验更佳,如果使用字节流播放,那就是一秒一卡,心态直接被搞到爆炸。

7f64b6f083c4e5b6b41cc0ab154803f9.png

示例4:关于数据流的传输,在网络编程中经常会使用到

a868bd8193f07fa0a3b029473c30bd98.png

示例5:转换流的应用:

20899e239f417205cb3c4eb6ad558e8f.png

示例6:print流 (注意: data数据流输出的是二进制代码,用户一般看不懂,计算机可以识别,如下:12345写入记事本后显示9 print是字符串流,用户可以看懂)

2d740b41c2a6fb70c759e50276f1c7e1.png

以下的分别设置输出路径有利于程序的调试

698f7bc71a8e92ef7855ab84567bb1fc.png

示例7object流:

84ddf666720b50a6a68275b6010baf0e.png

示例9,关于IO流一些补充知识:这些不常用,但对做系统程序开发的时候用的比较多

83cfc6a5bc02f1a3f7a024abc3ac0721.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值