WordCounter

import java.io.*;
import java.util.*;

/*
 * Zählt die Wörter in einer Datei
 * bekommt Dateinamen als Parameter
 */
public class WordCounter {
  
  public static void main(String args[]) throws IOException {
    
    String eingabeDatei = args[0];
    BufferedReader in  = new BufferedReader(new FileReader(eingabeDatei));
    Map m = new TreeMap();
    
    String s;
    while ((s = in.readLine()) != null) {
      
      // Zerlege die Zeile in Worte
      String[] worte = s.split("[ \n\t,;.()+=<>!?]");
      
      // und laufe durch alle Worte
      for (int i=0; i < worte.length; i++) {
        // packe das Wort in die Tabelle bzw. erhöhe seinen Zähler
        
        // ist das Wort schon in der Tabelle?
        Integer anzahl= (Integer) m.get(worte[i]);
        if (anzahl != null) {
          // erhöhe seinen Zähler
          m.put(worte[i], new Integer(anzahl.intValue() + 1));
        } else {
          m.put(worte[i], new Integer(1));
        }
      }
    }
    in.close();
    
    // gib die fertige Tabelle aus
    System.out.println("Häufigkeitstabelle der Wörter");
    System.out.println(m);
  }
}