java.util
Class StringTokenizer

java.lang.Object
  extended by java.util.StringTokenizer
All Implemented Interfaces:
Enumeration<Object>

public class StringTokenizer
extends Object
implements Enumeration<Object>

This class splits a string into tokens. The caller can set on which delimiters the string should be split and if the delimiters should be returned. This is much simpler than StreamTokenizer.

You may change the delimiter set on the fly by calling nextToken(String). But the semantic is quite difficult; it even depends on calling hasMoreTokens(). You should call hasMoreTokens() before, otherwise the old delimiters after the last token are candidates for being returned.

If you want to get the delimiters, you have to use the three argument constructor. The delimiters are returned as token consisting of a single character.

See Also:
StreamTokenizer

Constructor Summary
StringTokenizer(String str)
          Creates a new StringTokenizer for the string str, that should split on the default delimiter set (space, tab, newline, return and formfeed), and which doesn't return the delimiters.
StringTokenizer(String str, String delim)
          Create a new StringTokenizer, that splits the given string on the given delimiter characters.
StringTokenizer(String str, String delim, boolean returnDelims)
          Create a new StringTokenizer, that splits the given string on the given delimiter characters.
 
Method Summary
 int countTokens()
          This counts the number of remaining tokens in the string, with respect to the current delimiter set.
 boolean hasMoreElements()
          This does the same as hasMoreTokens.
 boolean hasMoreTokens()
          Tells if there are more tokens.
 Object nextElement()
          This does the same as nextTokens.
 String nextToken()
          Returns the nextToken of the string.
 String nextToken(String delim)
          Returns the nextToken, changing the delimiter set to the given delim.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringTokenizer

public StringTokenizer(String str)
Creates a new StringTokenizer for the string str, that should split on the default delimiter set (space, tab, newline, return and formfeed), and which doesn't return the delimiters.

Parameters:
str - The string to split
Throws:
NullPointerException - if str is null

StringTokenizer

public StringTokenizer(String str,
                       String delim)
Create a new StringTokenizer, that splits the given string on the given delimiter characters. It doesn't return the delimiter characters.

Parameters:
str - the string to split
delim - a string containing all delimiter characters
Throws:
NullPointerException - if either argument is null

StringTokenizer

public StringTokenizer(String str,
                       String delim,
                       boolean returnDelims)
Create a new StringTokenizer, that splits the given string on the given delimiter characters. If you set returnDelims to true, the delimiter characters are returned as tokens of their own. The delimiter tokens always consist of a single character.

Parameters:
str - the string to split
delim - a string containing all delimiter characters
returnDelims - tells, if you want to get the delimiters
Throws:
NullPointerException - if str or delim is null
Method Detail

hasMoreTokens

public boolean hasMoreTokens()
Tells if there are more tokens.

Returns:
true if the next call of nextToken() will succeed

nextToken

public String nextToken(String delim)
                 throws NoSuchElementException
Returns the nextToken, changing the delimiter set to the given delim. The change of the delimiter set is permanent, ie. the next call of nextToken(), uses the same delimiter set.

Parameters:
delim - a string containing the new delimiter characters
Returns:
the next token with respect to the new delimiter characters
Throws:
NoSuchElementException - if there are no more tokens
NullPointerException - if delim is null

nextToken

public String nextToken()
                 throws NoSuchElementException
Returns the nextToken of the string.

Returns:
the next token with respect to the current delimiter characters
Throws:
NoSuchElementException - if there are no more tokens

hasMoreElements

public boolean hasMoreElements()
This does the same as hasMoreTokens. This is the Enumeration interface method.

Specified by:
hasMoreElements in interface Enumeration<Object>
Returns:
true, if the next call of nextElement() will succeed
See Also:
hasMoreTokens()

nextElement

public Object nextElement()
                   throws NoSuchElementException
This does the same as nextTokens. This is the Enumeration interface method.

Specified by:
nextElement in interface Enumeration<Object>
Returns:
the next token with respect to the current delimiter characters
Throws:
NoSuchElementException - if there are no more tokens
See Also:
nextToken()

countTokens

public int countTokens()
This counts the number of remaining tokens in the string, with respect to the current delimiter set.

Returns:
the number of times nextTokens() will succeed
See Also:
nextToken()