码迷,mamicode.com
首页 > 其他好文 > 详细

统计单词频率

时间:2018-10-12 01:28:27      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:param   system.in   定位   完成   read   iter   ring   class   fileread   

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

以下是暂时完成的代码

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);
	        		}
	        	}
	        }
	        //输出我们想要的字符串格式

  

统计单词频率

标签:param   system.in   定位   完成   read   iter   ring   class   fileread   

原文地址:https://www.cnblogs.com/yeshenfeng/p/9775780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!