统计单词频率

Posted yeshenfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计单词频率相关的知识,希望对你有一定的参考价值。

这个代码没有完成,不过我了解到如何去读取指定位置的文件,以后可以当作模板来用。

以下是暂时完成的代码

1.文件读取

package wordcont;
 
import java.util.Scanner;
 
import wordcont.WordCont;
 
public class Main {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("输入文件路径:
");			
		Scanner in=new Scanner(System.in);
		String line=in.nextLine();
		String fileName= line.trim();
		WordCont wc = new WordCont();
		wc.displayWordCount(fileName);
		wc.displayFrequencyWord(fileName);
	}
 
}

  2.部分统计频率代码

package wordcont;


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeMap;
import java.util.TreeSet;
import wordcont.WordEntity;
 
public class WordCont {
 
	public void displayWordCount(String fileName){
		//字符统计
    	try {
			BufferedReader reader = new BufferedReader(new FileReader(fileName));
			String line = null;
	        TreeMap<String,Integer> tm = new TreeMap<String,Integer>();
	        
	        while((line=reader.readLine())!=null){
	        	line = line.toLowerCase();
	        	String str[] = line.split("\s+");
	        	for(int i = 0; i<str.length; i++){
	        		String word = str[i].trim();
	        		if(tm.containsKey(word)){
	        			tm.put(word, tm.get(word)+1);
	        		}else{
	        			tm.put(word, 1);
	        		}
	        	}
	        }
	        //输出我们想要的字符串格式

  

以上是关于统计单词频率的主要内容,如果未能解决你的问题,请参考以下文章

201671010432词频统计软件项目报告

统计单词频率

统计文档中单词出现频率

统计一段文章的单词频率,取出频率最高的5个单词和个数(python)

统计单词出现的频率

python输入一段英文文本,统计出现频率最高的前5个单词?