我们都知道字符流适用于读取文本,而字节流能读取文本、照片、视频等,但是用字节流读取文本到我们程序的控制台中会出现中文乱码的情况,如下图 我的文本中的数据是:生活很简单,过了今天就是明天 而当我们把字节数组的大小变成另一个数的时候又不会乱码 因此,接下来我们探讨关于这个乱码的情况
首先我们都知道一个中文及中文符号占用三个字节 一个英文占用一个字节 所以我们对于第一种情况 如下图做出解释 对第二种情况做出解释 所以这种的文本 如果数组大小是3的倍数 且存储的是中文及中文符号则能够正常读取 如果不是3的倍数 我们的数组就要设置的足够大就能够正常读取,但是如果设置的足够大 你的文本内容又很少 就会出现空间浪费的情况 所以我们在读取文本这种字符的时候 最好用字符流去读取 就会避免出现中文乱码