Java Glossary : StringTokenizer

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : S words : StringTokenizer.

StringTokenizer
java.util.StringTokenizer breaks up Strings into chunks at delimiters and hands them to you one at a time. See this StringTokenizer code example. Watch the American spelling. Make sure files you use with StringTokenizer have a final CrLf. The long form of the constructor lets you specify the characters to use as delimiters, and whether you want those delimiters themselves considered as tokens and returned to you, or just ignored. If you are trying to parse source code with embedded comments and quoted strings, then java.util.StreamTokenizer will be more appropriate. With JDK 1.3 the meaning of StreamTokenizer.nextToken was redefined without renaming the method or even changing the docs. This means old code won't work on 1.3 and vice versa! Phht.

Reading Numeric Data From an ASCII file

Java has no built-in methods for reading data of the form: 123 456,-4.

You have to roll your own method. Use java.io.StreamTokenizer or java.util.StringTokenizer, perhaps in combination with readLine to get your data into strings. StreamTokenizer has bells and whistles to deal with parsing source code, including white space, comments and numbers. StringTokenizer just splits the text up based on delimiter characters. Then use the conversion methods in the conversion table to convert to integers etc.

StringTokenizer Method Of Reading Integers From An ASCII file

// Read space-delimited file of integers
// Convert from ASCII to internal binary

...
BufferedReader in =
new BufferedReader(new FileReader( "C:\\temp\\foo.in" ), 4096 /* buffsize */ );
String aLine = in.readLine();
StringTokenizer st = new StringTokenizer(aLine);
// process one line worth of space-delimited integers
while ( st.hasMoreTokens() )
   {
   String s = st.nextToken();
   int i = Integer.parseInt(s);
   System.out.println(i);
   } // end while


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 4132.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/stringtokenizer.html J:\mindprod\jgloss\stringtokenizer.html