io流读写中可能会出现乱码的原因:
①编码和解码规则不一致
②这个字符编码不支持某种语言(ex:中文)
避免出现乱码的方法:
1、编码 : string ---> byte[]
string中有对应的方法:
①:byte[] getbytes() : 使用平台的默认字符集将此 string 编码为 byte 序列
②:byte[] getbytes(charset charset) : 使用指定的字符编码来编码字符串
③:byte[] getbytes(string charsetname) : 使用指定的字符编码来编码字符串
2、解码 : byte[] ---> string
string中有对应的构造方法:
①:string(byte[] bytes) : 通过使用平台的默认字符集解码指定的 byte 数组
②:string(byte[] bytes, charset charset) : 使用指定的字符集来解码指定的byte数组
③:string(byte[] bytes, string charsetname) : 使用指定的字符集来解码指定的byte数组
更多java知识请关注java基础教程栏目。
以上就是java中io流乱码的原因与避免方法的详细内容。