In Java, you can StringTokennizer class to split a String into different tokenas by defined delimiter.(space is the default delimiter). Here’re two StringTokennizer examples :

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.mkyong;
 
import java.util.StringTokenizer;
 
public class App {
	public static void main(String[] args) {
 
		String str = "This is String , split by StringTokenizer, created by mkyong";
		StringTokenizer st = new StringTokenizer(str);
 
		System.out.println("---- Split by space ------");
		while (st.hasMoreElements()) {
			System.out.println(st.nextElement());
		}
 
		System.out.println("---- Split by comma ',' ------");
		StringTokenizer st2 = new StringTokenizer(str, ",");
 
		while (st2.hasMoreElements()) {
			System.out.println(st2.nextElement());
		}
	}
}

Output

---- Split by space ------
This
is
String
,
split
by
StringTokenizer,
created
by
mkyong
---- Split by comma ',' ------
This is String 
 split by StringTokenizer
 created by mkyong

Example 2

Read a csv file and use StringTokenizer to split the string by “|” delimiter, and print it out.

File : c:/test.csv

1| 3.29| mkyong
2| 4.345| eclipse
package com.mkyong;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class ReadFile {
 
	public static void main(String[] args) {
 
	BufferedReader br = null;
 
	try {
 
		String line;
 
		br = new BufferedReader(new FileReader("c:/test.csv"));
 
		while ((line = br.readLine()) != null) {
		   System.out.println(line);
 
		   StringTokenizer stringTokenizer = new StringTokenizer(line, "|");
 
		   while (stringTokenizer.hasMoreElements()) {
 
		    Integer id = Integer.parseInt(stringTokenizer.nextElement().toString());
		    Double price = Double.parseDouble(stringTokenizer.nextElement().toString());
		    String username = stringTokenizer.nextElement().toString();
 
			StringBuilder sb = new StringBuilder();
			sb.append("\nId : " + id);
			sb.append("\nPrice : " + price);
			sb.append("\nUsername : " + username);
			sb.append("\n*******************\n");
 
			System.out.println(sb.toString());
		   }
		}
 
		System.out.println("Done");
 
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		try {
			if (br != null)
				br.close();
 
		} catch (IOException ex) {
			ex.printStackTrace();
		}
	}
 
	}
}

Output

1| 3.29| mkyong
 
Id : 1
Price : 3.29
Username :  mkyong
*******************
 
2| 4.345| eclipse
 
Id : 2
Price : 4.345
Username :  eclipse
*******************
 
Done

Reference

  1. http://java.sun.com/javase/6/docs/api/java/util/StringTokenizer.html

Tags :
Founder of Mkyong.com, love Java and open source stuffs. Follow him on Twitter, or befriend him on Facebook or Google Plus.
Here are some of my recommended Books

Related Posts

Popular Posts