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
等等......我试着查找问题,但没有任何帮助。我也提到了这个并更改了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。