读取一个.txt文件并计数每个单词出现的次数
2008-05-26 14:33
204 查看
//求一个方法。该方法读取一个.txt文件并计数每个单词出现的次数,不区分大小写。各种标号和数字除外。注意效率!
//例如:txt文件的内容是:I like Java./?? I've study [ java for 1 year.
//输出:i 2
// like 1
// java 2
// ve 1
// for 1
// year 1
import java.io.*;
import java.util.*;
public class Test1 ...{
public static void main(String[] a) ...{
InnerCountWords icw = new InnerCountWords("words.txt");
Map<String,Integer> result = icw.getResult(); //开始统计
System.out.println(result);
}
}
class InnerCountWords ...{
private String fileName;
public InnerCountWords(String fileName) ...{
this.fileName = fileName;
}
public Map<String,Integer> getResult() ...{
Map<String,Integer> result = new HashMap<String,Integer>();
FileInputStream fis = null;
try ...{
fis = new FileInputStream(fileName); //打开文件
int in = 0; //读入的字符
StringBuffer sb = new StringBuffer(); //缓存单词
in = fis.read(); //读入
boolean notEnd = true; //是否是文件尾
while(notEnd) ...{
if(-1 == in) ...{
notEnd = false; //如果到文件尾,结束while
}
if(Character.isLetter((char)in)) ...{
sb.append((char)in); //判断读入的是否是字母,如果是,就追加到StringBuffer
} else ...{
//否则就判断StringBuffer里面是否有单词存在,如果有就加入到Map中
if(sb.length() > 0) ...{
if(result.containsKey(sb.toString())) ...{
result.put(sb.toString(), result.get(sb.toString()) + 1);
} else ...{
result.put(sb.toString(),1);
}
}
sb = new StringBuffer(); //重新设置StringBuffer
}
in = fis.read(); //读入字符
}
return result;
} catch (IOException e) ...{
e.printStackTrace();
}
finally ...{
try ...{
fis.close();
} catch (IOException e) ...{
e.printStackTrace();
}
}
return null;
}
}
相关文章推荐
- java读取txt文件,并统计每行中每个字母出现的次数,并将产生的数字保存到一个新的txt文件中(有加分)
- java 读取键盘输入到txt文件,统计每个单词出现的次数并输出
- Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
- 从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件
- Python读取英文文件并记录每个单词出现次数后降序输出示例
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出
- 读取一个文件中的字符,统计每个字符出现的次数
- 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 次 前: 3 次
- 从一个名为 in_file.txt 的文本文件中读取单词,然后把每个词写到一个名为out_file.txt的输出文件中 并且每个词之间用空格分开
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- 初探map()——对一个文件进行统计其中各个单词出现的次数,并按次数从高到低的顺序进行排序
- 文件夹下有子文件夹又有.txt,子文件夹又有子文件夹又有.txt和子文件夹,把txt文件上面的单词全打出来并统计相同单词出现次数
- 获取一个文本上每个字符出现的次数,将结果写在times.txt上
- 计算出一字符串(字符串中每个单词之间有一个或多个空格)中每个单词的 出现的次数
- go语言之map练习(二):编写一个程序wordfreq程序,统计输入文本中每个单词出现的频率(次数)
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- Java 读取一段英文文档统计每个单词出现的次数和单词的总数
- 统计文件中每个单词出现的次数
- 写一个程序,从文件(c:\test.txt)中查出字符串”mobnet”出现的次数?