import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; import java.util.StringTokenizer; class Demo { public static void main(String[] args) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(args[0])); Map words = new HashMap(); String line = reader.readLine(); while (line != null) { StringTokenizer tokenizer = new StringTokenizer(line, " \t\n\r\f.,"); while (tokenizer.hasMoreTokens()) { String word = tokenizer.nextToken(); Integer count = (Integer)words.get(word); if (count == null) words.put(word, new Integer(1)); else words.put(word, new Integer(count.intValue() + 1)); } line = reader.readLine(); } System.out.println(words); } catch (IOException e) { System.out.println(e.getMessage()); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) {} } } } }