gpt4 book ai didi

java - 检查下一个字符串标记生成器是否为空

转载 作者:行者123 更新时间:2023-12-01 17:31:41 24 4
gpt4 key购买 nike

我遇到了问题,我正在使用一个包含超过一百万行数字的文本文件。数据格式如下,有的行有3条数据,有的行只有2条。每次文件获取只有 2 位的数据时,似乎都会抛出空错误(我正在使用 Try/catch 读取输入流)

如果我删除值 3 分词器,则程序将运行到最后。我是否需要添加一个 if 语句来检查第二行之后是否有另一个标记?如果是这样 - 怎么办?

            while ((getLine = br.readLine()) != null)   {
StringTokenizer tokenizer = new StringTokenizer(getLine);
String Value1 = tokenizer.nextToken();
String Value2 = tokenizer.nextToken();
String Value3 = tokenizer.nextToken();
//Does some more things
}

数据

    11      22      33
44 55
77 88 99
10 11
13 14
16 17 18

最佳答案

您必须检查标记生成器中是否仍然有标记。你可以这样做:

String Value3 = tokenizer.hasMoreTokens() ? tokenizer.nextToken() : null;

这将设置 Value3null如果没有第三个 token 。您可能想将其设置为空字符串。

替代方法是使用 getLine.split("\\s+") ,这将返回一个标记数组。如果只有 2 个值,则数组的长度将为 2。因此,在尝试读取第三个值时要小心,该值可能不存在。

关于java - 检查下一个字符串标记生成器是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com