If you want to be able to push a token back so it can be read again, look at using the StreamTokenizer class.
It has a pushBack() method.