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

        // This class finds words delimited by punctuation characters
        // in the file passed to its constructor.
        // The delimiters may be changed via setDelimiters.
class WordFinder {
    public void findWords(String filename){
        try{
            // Open the file (FileReader) and construct a
            // BufferedReader object using it.
            BufferedReader in = new BufferedReader(new FileReader(filename));
            findWords(in);
            in.close();
        }
        catch(IOException e){
            System.err.println(e);
        }
    }

        // Read the file, line by line, and break it up.
    public void findWords(BufferedReader in) throws IOException {
      String line = in.readLine();
      while(line != null){
         // Break up the line based upon the current delimiters.
         StringTokenizer tokenizer = new StringTokenizer(line,getDelimiters());
         while(tokenizer.hasMoreTokens()){
             String s = tokenizer.nextToken();
             // Print the next word.
             System.out.println(s);
         }
         line = in.readLine();
      }
    }

    public String getDelimiters(){
        return delimiters;
    }

    public void setDelimiters(String d){
        delimiters = d;
    }

    // What to use to break up words: punctuation, whitespace and quotes.
    private String delimiters = ",;:.\"' \t";
}
