300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java读取TXT文件中文输出乱码

Java读取TXT文件中文输出乱码

时间:2022-06-07 02:42:34

相关推荐

Java读取TXT文件中文输出乱码

问题背景

利用Scanner读取TXT文件中的英文单词和中文对应的键值对,输出时中文乱码,英文不会

分析

首先发现,代码其他地方没有问题,文件读取和输出行为没有问题,出现乱码的原因很可能是读取编码和输出编码显示编码不匹配造成的;

就和之前在cmd输出报错中文字符乱码一样,如果将cmd编码设置为utf-8,但是报错信息编码为GBK,那么输出的报错中文字符就会显示为乱码;

因此,从读取的TXT文件,输入输出流的读取编码做对比找原因。

解决问题

将TXT文件保存为ANSI编码格式;

将文件读取格式设置为ANSI,转换为UTF-8,输出格式为utf-8;

如此,中文不在乱码,解决问题。

存在不足

在将TXT文件修改成gbk、utf-8格式时,文件读取仍然是乱码,这个问题没有完全解决;

File file = new File("word.txt");Scanner sc = null;WordPolice(){hashtable = new HashMap<String,String>();try{sc = new Scanner(file);while(sc.hasNext()){String englishWord = new String(sc.next().getBytes("ANSI"),"utf-8");String chineseWord = new String(sc.next().getBytes("ANSI"),"utf-8");hashtable.put(englishWord,chineseWord);}}catch(Exception e){}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。