import java.io.*; import java.util.*; public class WordReader extends BufferedReader { public WordReader(Reader in) { this(in, 1024); } public WordReader(Reader in, int bufferSize) { super(in, bufferSize); } public String readWord() throws IOException { StringBuilder sb = new StringBuilder(); while(true) { int c = this.read(); if (c == -1) { // end of stream if (sb.length() == 0) return null; return sb.toString(); } else if (!Character.isWhitespace((char)c)) { sb.append((char)c); } else if (Character.isWhitespace((char)c) && sb.length() > 0) { return sb.toString(); } } } }