java.util

Class StringTokenizer

Implemented Interfaces:
Enumeration<E>

public class StringTokenizer
extends Object
implements Enumeration<E>

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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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 Details

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()

hasMoreElements

public boolean hasMoreElements()
This does the same as hasMoreTokens. This is the Enumeration interface method.
Specified by:
hasMoreElements in interface Enumeration<E>
Returns:
true, if the next call of nextElement() will succeed

hasMoreTokens

public boolean hasMoreTokens()
Tells if there are more tokens.
Returns:
true if the next call of nextToken() will succeed

nextElement

public Object nextElement()
            throws NoSuchElementException
This does the same as nextTokens. This is the Enumeration interface method.
Specified by:
nextElement in interface Enumeration<E>
Returns:
the next token with respect to the current delimiter characters
Throws:
NoSuchElementException - if there are no more tokens
See Also:
nextToken()

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

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

StringTokenizer -- breaks a String into tokens Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.