统计飘中单词出现次数

package test;
import java.io.File;
import java.io.BufferedInputStream; 
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class test2 {
        public static void main(String[] agrs)throws Exception {
        BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\admin\\Documents\\gone.txt"));
        StringBuffer sb=new StringBuffer();
        String text=null;
        while((text=br.readLine())!=null) {
            sb.append(text);
        }
        br.close();//关闭读入流
        String str=sb.toString().toLowerCase();
        String[] words=str.split("\\W+");
        Map<String ,Integer>map=new HashMap<String,Integer>();
        Set<String> wordSet=map.keySet();
        for(int i=0;i<words.length;i++) {
            if(wordSet.contains(words[i])) {
                //如果已经有这个单词了
            Integer number=map.get(words[i]);
            number++;
            map.put(words[i], number);
            }
            else map.put(words[i],1);
        }
        Iterator<String> iterator=map.keySet().iterator();
        while(iterator.hasNext()) {
            String word=iterator.next();
            System.out.println("单词:"+word+"出现次数:"+map.get(word));
        }
    }
}

首先先创建一个File对象,用作缓存输入流的构造函数的参数。将文件中的内容储存成String对象,用appened函数将不断读出的string添加到对象尾部。关闭文件
利用split函数将string对象分割成一个个单词。将其对象转化为小写。将单词和次数定义到map集合中,以单词为索引,统计次数。利用迭代器将map集合输出。
map集合的排序方式还在学习中。

 

posted @ 2019-09-27 20:33  Protect_Winter  阅读(126)  评论(0)    收藏  举报