Java StringTokenizer Example

时间:2022-05-08 19:51:27

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