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

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

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

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

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

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