您的位置:首页 > 其它

查找任意一英文文档,统计其单词出现次数

2016-12-23 13:41 471 查看
import java.io.*;
import java.util.*;

class Demo {

public static void main(String[] args) {
File f = new File("F:\\tx.txt");
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(f));
bw = new BufferedWriter(new FileWriter("cha.txt"));
String line = null;
Map<String,Integer> map = new TreeMap<String,Integer>();
while ((line = br.readLine()) != null) {
// 正则表达式(获取)
String reg = "\\b[a-zA-Z]+\\b";
// 将正则表达式封装为对象
Pattern p = Pattern.compile(reg);
// 将正则表达式对象和要作用的字符串匹配
Matcher m = p.matcher(line.toLowerCase());//全部变为小写
int temp =0;
while (m.find()) {
//System.out.println(m.group());
//将单词存入treemap,值为其出现次数
Integer value = map.get(m.group());
if (value != null)
temp = value;
temp++;
map.put(m.group(), temp);
temp = 0;
}
bw.write(map.toString());
}
System.out.println(map);

} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
if (bw != null)
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string 正则-查找