2

我必须从由管道分隔的字符串组成的文件中读取输入

A|UK|2|1
B||3|1

StringTokenizer st = new StringTokenizer(data,"|");

String id=st.nextToken();
String country=st.nextToken();
String count=st.nextToken();
String flag=st.nextToken();

对于文件的第二行,有一个空内容,如果没有内容,我想分配“”字符串,我如何使用 nextToken 做到这一点?

谢谢

4

2 回答 2

4

我建议你使用 split ,它会毫无例外地工作

String yourstring = "B||3|1";
String [] arr = yourstring.split("\\|");

String id=arr[0];
String country=arr[1];
String count=arr[2];
String flag=arr[3];
于 2012-11-02T08:24:35.240 回答
3

一种解决方案是使用三参数构造函数

StringTokenizer(String str, String delim, boolean returnDelims)

true作为第三个参数传递。这样,StringTokenizer 将分隔符作为标记提供给您,因此您可以检查空字段,只需检查两个或多个连续的分隔符。

于 2012-11-02T08:28:30.463 回答