一个关于java io流的编码问题

如上图的代码中,视频老师说不采用字符流会出现乱码,因为中文占两个字节,要是字节流读取的话一次只读取一个字节,
但是要是英文与中文同时存在的时候,按照上面的逻辑英文不就会产生乱码吗?
希望大家能给我解答一下,在这里表示感谢,百度上的答案与此问题并不相对应,并非伸手党,
再次感谢大家!!!

2个回答

英文字母是可以用字节表示,但是也是一个字符,按字符流读取的时候,无论中文英文都是字符,按字节流读取的时候,英文可以用一个字节表示,照样读取,中文为两个字节,还是按字节读取,但关键是显示的时候是按照字节的方式,不会把两个字节(一个中文字符)拼起来;字符流就没问题

javastudentcdw
javastudentcdw 回复当作看不见: 谢谢,很透彻
3 年多之前 回复

给你总结一个规律,也是我自己学习IO流的经验:

对于二进制文件,比如视频、图片等,使用字节流

对于文本文档类的,使用字符流,当然也可以使用字节流

javastudentcdw
javastudentcdw 回复汉代风云: 谢谢你,感谢帮助
3 年多之前 回复
javastudentcdw
javastudentcdw 回复汉代风云: 谢谢你,感谢帮助
3 年多之前 回复
javastudentcdw
javastudentcdw 回复汉代风云: 谢谢你,感谢帮助
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问