码迷,mamicode.com
首页 > 编程语言 > 详细

java实现文本词频统计

时间:2017-05-15 15:05:51      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:java实现   key   get   hashmap   builder   过滤   stream   stringbu   shm   

File f=new File(path);
Map<String,Integer>map=new HashMap<>();
Version matchVersion = Version.LUCENE_31;
Analyzer analyzer = new StopAnalyzer(matchVersion);
BufferedReader br = new BufferedReader(new FileReader(f));//读取文件

TokenStream ts = analyzer.tokenStream(null, br);//用analyzer分词,得到token流
ts = new PorterStemFilter(ts);//过滤器提取词干
CharTermAttribute ca = ts.addAttribute(CharTermAttribute.class);//ca存储了ts的文本信息
ts.reset();//必须的
while(ts.incrementToken()){
String term = ca.toString();
if(!map.keySet().contains(term)){
map.put(term, 1);
}else
{
map.put(term, map.get(term)+1);
}
}
ts.end();
ts.close();
analyzer.close();
br.close();

StringBuilder sb=new StringBuilder();
File gh=new File(path);
for(String key:map.keySet()){
sb.append(key+" "+map.get(key)+"\r\n");
}
BufferedWriter bw=new BufferedWriter(new FileWriter(gh));
bw.write(sb.toString());
bw.flush();
bw.close();

java实现文本词频统计

标签:java实现   key   get   hashmap   builder   过滤   stream   stringbu   shm   

原文地址:http://www.cnblogs.com/altlb/p/6856296.html

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