String Tokenizer
In Java, you can use StringTokennizer class to split a String into different tokens by defined delimiter(space is the default delimiter).
Here are some example for StringTokenizer :
Example 1:
Uses StringTokennizer to split a string by "space" and "comma" delimiter, and iterate the StringTokenizer elements and print it out one by one.
package com.jtechies;
import java.util.StringTokenizer;
public class Demo
{
public static void main(String[] args)
{
String str = "This is Example , to split by StringTokenizer";
StringTokenizer stringt = new StringTokenizer(str);
System.out.println("---- Split by space ------");
while (stringt.hasMoreElements())
{
System.out.println(stringt.nextElement());
}
System.out.println("---- Split by comma ',' ------");
StringTokenizer stringt2 = new StringTokenizer(str, ",");
while (stringt2.hasMoreElements())
{
System.out.println(stringt2.nextElement());
}
}
}
Output : ---- Split by space ------ This is Example , to split by StringTokenizer, ---- Split by comma ',' ------ This is Example to split by StringTokenizer
Example 2:
Read a csv file and use StringTokenizer to split the string by "|" delimiter, and print it out.
1| 5.25| TKHTS 2| 9.123| jtechies
package com.jtechies;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Demo
{
public static void main(String[] args)
{
BufferedReader br = null;
try
{
String str;
br = new BufferedReader(new FileReader("c:/demo.csv"));
while ((str = br.readLine()) != null)
{
System.out.println(str);
StringTokenizer stringTokenizer = new StringTokenizer
(str, "|");
while (stringTokenizer.hasMoreElements()) {
Integer value = Integer.parseInt
(stringTokenizer.nextElement().toString());
Double doublevalue = Double.parseDouble
(stringTokenizer.nextElement().toString());
String username =
stringTokenizer.nextElement().toString();
StringBuilder sb = new StringBuilder();
sb.append("\nvalue : " + value);
sb.append("\ndoublevalue : " + doublevalue);
sb.append("\nUsername : " + username);
sb.append("\n*******************\n");
System.out.println(sb.toString());
}
}
System.out.println("Completed");
}catch (IOException e) {
e.printStackTrace();
}finally
{
try
{
if (br != null)
br.close();
}catch (IOException ex)
{
ex.printStackTrace();
}
}
}
}
Output : 1| 5.25| TKHTS value : 1 doublevalue : 5.25 Username : TKHTS ******************* 2| 9.123| jtechies value : 2 doublevalue : 9.123 Username : jtechies *******************


