StringTokenizer只占用该行的最后一个字

时间:2012-05-03 05:46:55

标签: java stringtokenizer

我正在尝试使用java中的StringTokeniser来标记文本文件。但问题是它只需要该行的最后一个字。几乎没有什么帮助。此示例代码是map-reduce函数的一部分。

String profile;

StringTokenizer inputKey=new StringTokenizer(value.toString());
while(inputKey.hasMoreTokens()){

    String input=inputKey.nextToken();
    if(!input.endsWith("</id>")){
        textInput.set(input);
    } else {
        profile=input.substring(4,15);
        profileId.set(profile);

    }
}

2 个答案:

答案 0 :(得分:2)

您应该像大多数人所说的那样使用调试器,并停止使用StringTokenizer并启动String.split ..

您已经实例化了没有分隔符的StringTokenizer对象,您可以显式设置分隔符(可以是“,”或“。”在您的情况下)或使用同时接受分隔符和字符串的构造函数试图解析。

答案 1 :(得分:0)

这些问题非常适合学习如何调试程序。