统计单词频率

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

以下是暂时完成的代码

1.文件读取

package wordcont;
 
import java.util.Scanner;
 
import wordcont.WordCont;
 
public class Main {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("输入文件路径:\n");			
		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);
	        		}
	        	}
	        }
	        //输出我们想要的字符串格式

  

posted @ 2018-10-11 23:34  夜神风  阅读(274)  评论(0编辑  收藏  举报