Java从电脑一个txt文档中读入一篇英语文章,然后统计并输出文章中的单词和其对应的数目。

简化版的:缺陷是没有消除大小写的区别,功能是实现了的。

package ioTest;



import java.awt.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;


public class IoTest {
private static Map words = new HashMap();
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String src = "E:/IOTest.txt";
String wenzhang=ReadSrc(src);
words = Count(wenzhang);
Iterator it = words.keySet().iterator();
while(it.hasNext()){
Object key = it.next();
System.out.println(key);
System.out.println(words.get(key));
}

}
public static String ReadSrc(String path) throws IOException{
String Src="";
FileReader read = null;
BufferedReader br = null;
FileWriter write = null;
String word = null;
try{
read = new FileReader(path);
br = new BufferedReader(read);
word = br.readLine();
while(word!=null){
Src+=word;
word=br.readLine();
}
}
catch(IOException e){

}finally{
if(read!=null){
read.close();
}
if(br!=null){
br.close();
}
}
return Src;
}
public static Map Count(String wenzhang){
Map endmap = new HashMap();
String src = wenzhang;
src=src.replaceAll(",", " ");
src=src.replace(".", " ");
String[] ss = src.split(" ");
for(String s:ss){
if(s.toString().trim().length()!=0){
if(endmap.containsKey(s)){
endmap.put(s, endmap.get(s)+1);
}
else{
endmap.put(s, 1);
}
}
}
return endmap;
}
}

你可能感兴趣的:(Java,日常)