Java:拼音特殊字符不输出

时间:2018-05-10 08:20:54

标签: java character-encoding java.util.scanner

import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class TextReader {

public static void main(String[] args) throws FileNotFoundException{ 

    //  HashMap<String, Integer> hashmap = new HashMap <String, Integer>();
        TreeMap<String, Integer> hashmap = new TreeMap<String, Integer>();
    //get the file and put it into the file variable    
        File file = new File ("/Desktop/TextSampleWordCount.txt");
    //Scan the file in  
        Scanner pinyintextfile = new Scanner (file,"UTF-8");



         while(pinyintextfile.hasNext()){
             String word = pinyintextfile.next();
             if( hashmap.containsKey(word)){
                 //if the word is found we put the word into the map and update its count. 
                 int count = hashmap.get(word) + 1;
                 hashmap.put(word, count);

             }
             else{
                 //if the word in not in the map we want to create a new entry for it 
                 hashmap.put(word, 1);

             }

         }

             pinyintextfile.close();
             for(Map.Entry<String, Integer> entry : hashmap.entrySet()){
                 System.out.println(entry);
             }  
    }
}

该程序计算拼音单词的重复次数。问题是,当它输出文本时,它将其输出为

Ch?ng = 1

Zh?= 3

等等......我试着查找问题,但没有任何帮助。我也提到了这个stepper using xml并更改了charsetName但仍然输出了问号。我不确定我做错了什么。它可能是我的IDE吗?

该文件看起来像这样

Yùkèsùdǎozhúzhǐbìshèmùqiúzhēngzìběnyángqīyánbiǎo。 Dúzhǒnglǎnyǐwényǒuzhèngcáisūcānsèluòshèláozìyūxuěqiánmùwàn。 Yūbànshèshílǐwàigèngjāāxīqìshànxiāngxiào。 Wénsēndéyìfāhùluòzhuǎnquándàonniánměìjìshìchūguògéshū。 Tàiusúzhīnéngshǒusòngxiěqiúxùtūtóyuīshòuwìizìdiàotúyùānnéng。 Zhìfùqǐjièxíngshìjuézhǐdǒngzhǔsèshíyìjì。 Dúshèhǎorìjìzhìqìshǒuxuéjíjūnyèzhìshèchēzuòxīzhōngyánmíng。 Tèshēngyìzhōngshètóunénggōngchūshānzuòshēnyàn。 Lìfànduōquánmǎhuàzhèngjìzhìkāngdìngwènyǒngzǒng。

1 个答案:

答案 0 :(得分:0)

很可能是Eclipse控制台设置的配置。检查运行&gt;运行配置&gt;共同(标签)&gt;编码并查看默认编码是否为“UTF-8”。如果没有,请选择“UTF-8”作为默认编码并再次运行程序。

enter image description here