首页 > 编程知识 正文

java文字乱码怎么解决,java io设计模式

时间:2023-05-05 05:28:53 阅读:23746 作者:2774

Java IO流使用乱码问题IO流使用中乱码问题乱码产生的根本原因总结了常见的IO流中文乱码场景和解决方法FileInputStream和FileWriter读取文件时的中文乱码问题序列化和反序列化时的中文乱码问题

使用IO流时发生乱码问题

初学者在学习IO章节时,在读取文件时经常会遇到中文乱码问题。 这个东西比较简单,认真的吐司懒得写。 干脆,我想简单地说这件事,消除一些人的混乱。

乱码产生的原因是中文乱码产生的原因是文件存储数据的编码方式 跟 读取文件数据时解码方式方式不同

例如,常见的中文乱码问题,归纳原因分为两类。

一种是数据用GBK码保存在文件中,用UTF-8码读取时中文会乱码。 另一种是数据存储是UTF-8编码,如果在解码中使用GBK,则会引起乱码。中文乱码根因

GBK编码用2字节表示中文字符,UTF-8编码用3字节表示中文字符。 系统中的所有数据都以字节存储在文件中,文件大小也以字节为单位。 如果文件有6个字节,则GBK编码为三个中文字符,UTF-8编码为两个中文字符。 因此,只要编码解码方式不一致,就会出现中文乱码问题。

集成开发环境(如IDEA和Eclipse )缺省使用UTF-8编码。

我们最初学习IO流的时候,主要是对磁盘文件进行IO操作,读写数据。 读写中读写的代码不一致的话,容易发生中文乱码。 我想很多初学者对此都有过烦恼,下面就总结一下使用IO流时常见的中文乱码吧。

常见的io流中文乱码场景和解决方案文件输入和文件写入器读取文件时可能会出现中文乱码问题。

读取本地磁盘上的文件是GBK编码,读取方法是UTF-8。 虽然文件是UTF-8编码,但读取文件的类java文件是GBK方法,也会导致乱码。 解决方法:

使用具有InputStreamReader编码参数的构造函数创建对象读取文件数据。 (使用InputStreamReader可以查看api文档或百度的情况。 )将文件修改为UTF-8编码格式,并将文件另存为。 也可以选择编码方法,或在Notepad中更改文件编码方法。 检查所有java文件的编码方式,将其设为UTF-8。 可能是序列化和去序列化时中文乱码的问题。 要去串行化的类和要去串行化的类的编码方法不同。 请看IDEA右下角的类的编码方法。 IDEA的默认值为UTF-8,但有些同学不小心变成了修改了几个java文件编码方式为GBK,序列化类和去序列化类的编码方式不同,中文可能会乱码。

解决方法:将序列化类编码和反序列类编码调整为UTF-8。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。