在文件txt中查找单词

时间:2017-03-18 11:13:02

标签: java

大家好我有一个问题, 我必须找到一个文件中的单词重复次数,所以我写了这样的代码

公共课CountWords {

FileReader fr;
ArrayList<String> wordsList = new ArrayList<>();

public CountWords(String fname) {
    try {
        fr = new FileReader(fname);
        Scanner s = new Scanner(fr);

        while(s.hasNextLine()){

            String[] parola = s.nextLine().split("[\\p{Blank}]|[\\p{Punct}&&\\p{Blank}]|[\\p{Punct}]");

            for (int i = 0; i < parola.length;){
                if (parola[i] == " "){
                    i ++;
                }else {
                    wordsList.add(parola[i]);
                    i++;
                }
            }
        }

        s.close();

    }catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

public List<String> getResult() {
    ArrayList<String> res = new ArrayList<String>();
    HashMap<String,Integer> set = new HashMap<>();

    for(String slowa : wordsList) {
        set.put(slowa, set.containsKey(slowa) ? set.get(slowa) + 1 : 1 );
    }


    for(String key : set.keySet()){
        res.add(key + " " + set.get(key));
    }

    return res;
}

}

在最后一次尝试后,我把很多Puncts放在两个单词之间我有问题,输出给我在数组“parola”中的空格也是如何不包括数组中的空格?

0 个答案:

没有答案