英文词频统计
Posted 演奏者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了英文词频统计相关的知识,希望对你有一定的参考价值。
需求分析
1、读取文本文件并在结果中显示(也可以选择不显示)
2、统计单词出现的次数
3、对结果进行排序、输出
功能实现
1、在结果中显示文本内容
File yw = new File("java.txt"); //使用循环读取本地文本文件“java.txt”中的字符并显示出来
FileInputStream cp = new FileInputStream(yw);
char yy;
System.out.println("该文件中的内容如下:");
for(int i=0;i<yw.length();i++){
yy=(char)cp.read();
System.out.print(yy);
}
System.out.println();
cp.close();
2、用BuffereReader类读取文本,用TreeSet对单词进行排序 ,并用String[ ]保存分隔都的字符
BufferedReader bf = new BufferedReader(new FileReader("java.txt"));//使用缓冲区创造缓冲字符输入流
StringBuffer sbf = new StringBuffer(); //动态字符串数组
Set<String> SetSer = new TreeSet<String>();//String类型的对象的集合Set,并且是词语的首字母是有序的
String temp = bf.readLine(); //读取文本行
while(temp !=null ){
sbf.append(temp+" "); //往动态字符串数组里添加数据
temp = bf.readLine();
}
String[] Str = sbf.toString().split("[^A-Za-z0-9]"); //进行分隔字符,并保存到数组里
3、使用循环对单词出现次数进行统计
for(String string:Str){ //使用循环将分离出来的词语与整体进行对比、统计,若词语重复,则数量增加;否则词语更新
SetSer.add(string);
}
for(String childString:SetSer){
System.out.print(childString);
int count = 0;
for(String fatherString : Str){
if(fatherString.equals(childString)){
count++;
}
}
System.out.println("出现"+count+"次"); //结果输出
}
结果输出显示
1、部分文本内容显示
该文件中的内容如下:
General Westmoreland, General Grove, distinguished guests, and gentlemen of the
Corps!
As I was leaving the hotel this morning, a doorman asked me, "Where are you
bound for, General?" And when I replied, "West Point," he remarked, "Beautiful
place. Have you ever been there before?"
No human being could fail to be deeply moved by such a tribute as this [Thayer
Award]. Coming from a profession I have served so long, and a people I have loved
so well, it fills me with an emotion I cannot express. But this award is not intended
primarily to honor a personality, but to symbolize a great moral code -- the code of
conduct and chivalry of those who guard this beloved land of culture and ancient
descent. That is the animation of this medallion. For all eyes and for all time, it is an
expression of the ethics of the American soldier. That I should be integrated in this
way with so noble an ideal arouses a sense of pride and yet of humility which will be
with me always: Duty, Honor, Country.
2、部分单词统计结果
20出现2次
All出现1次
Always出现3次
American出现3次
And出现4次
Are出现3次
As出现2次
Award出现1次
Beautiful出现1次
But出现6次
Coming出现1次
Corps出现4次
Country出现7次
Divine出现1次
Duty出现7次
Every出现1次
Everything出现1次
First出现1次
For出现2次
From出现2次
General出现3次
God出现1次
Gray出现1次
Grove出现1次
Have出现1次
He出现5次
His出现1次
Honor出现7次
However出现1次
I出现24次
In出现5次
It出现1次
Its出现1次
Let出现1次
Line出现1次
Long出现1次
Maker出现1次
My出现2次
Nation出现1次
No出现2次
On出现1次
Only出现1次
总结
因为之前的基础不是很好,所以参考了网上和书上的很多资料,但是通过自己的学习,对文本文件的读取及字符统计等方面有了深刻的了解,
希望自己能不断努力,在学习中不断进步。
以上是关于英文词频统计的主要内容,如果未能解决你的问题,请参考以下文章