一、需求
从文件读入一些单词(用空格隔开),统计每个单词出现的个数
二、代码
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public classTest {
public static void main(String[] args) {
//逐行读文件
br = null;
try {
map = newHashMap<String,Integer>();
br = new BufferedReader(new FileReader("d:/mywords.txt"));
line;
while(null != (line = br.readLine())){
System.out.println(line);
//将字符串用空格分隔
ss = line.split("\\s+");
for(String s : ss){
if(map.containsKey(s)){
map.put(s, map.get(s)+1);
}else{
map.put(s, 1);
}
}
}
keys = map.keySet();
for(String key : keys){
System.out.println(key + "有:" + map.get(key) + "个.");
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}finally {
if(null != br){
try {
br.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
}
三、执行结果
文件中字符如下:
i love you baby
do you love me
执行结果:
love有:2个.
baby有:1个.
me有:1个.
i有:1个.
do有:1个.
you有:2个.