Java StringTokenizer Example
In Java, you can use 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
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("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