您的位置:首页 > 编程语言 > Java开发

Java读取文本文件中一段英文统计单词个数

2007-11-12 16:20 591 查看
import java.util.*;

import java.util.regex.*;

import java.io.*;

public class UserTreeMap{

public static void main(String args[]) throws IOException{

BufferedReader buf=new BufferedReader(new FileReader("english.txt"));

System.out.println("Read under this dir English.txt");

StringBuffer sbuf=new StringBuffer();

String line=null;

while((line=buf.readLine())!=null){

sbuf.append(line);

}

buf.close();

Pattern expression=Pattern.compile("[a-zA-Z]+");

String string1=sbuf.toString().toLowerCase();

Matcher matcher=expression.matcher(string1);

TreeMap myTreeMap=new TreeMap();

int n=0;

Object word=null;

Object num=null;

while(matcher.find()){

word=matcher.group();

n++;

if(myTreeMap.containsKey(word)){

num=myTreeMap.get(word);

Integer count=(Integer)num;

myTreeMap.put(word,new Integer(count.intValue()+1));

}

else

{

myTreeMap.put(word,new Integer(1));

}

}

System.out.println("统计分析如下:");

System.out.println(""t 文章中单词总数为:"+n+"个");

System.out.println("具体信息查看当前目录的Result.txt文件");

BufferedWriter bufw=new BufferedWriter(new FileWriter("result.txt"));

Iterator iter=myTreeMap.keySet().iterator();

Object key=null;

while(iter.hasNext()){

key=iter.next();

bufw.write((String)key+":"+myTreeMap.get(key));

bufw.newLine();

}

bufw.write("english.txt单词总数为"+n+"¸ö");

bufw.newLine();

bufw.write("english.txt不同单词"+myTreeMap.size()+"个");

bufw.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐