我想从txt文件中读取用户id及其链接类型。数据以下列格式给出。如何解决java.lang.ArrayIndexOutOfBoundsException错误
SRC:aa
TGT:bb
VOT:1
SRC:cc
TGT:bb
VOT:-1
其中 'SRC' 和用户ID的 'TGT' 指标。在数据中,一些用户ID是空白的,即用户不同意透露自己的身份如下:
SRC:
TGT:cc
VOT:-1
SRC:ff
TGT:bb
VOT:1
在这种情况下,我想给他们一个特殊的ID,“无名氏”。所以,我写了下面的代码:
//Reading source
dataline = s.nextLine();
String[] line1parts = new String[2];
.
.
//split the line at ":"
line1parts = dataline.split(":");
//if the line has source
if (line1parts[0].trim().equals("SRC")){
//if the soruce name is empty
if (line1parts[1].isEmpty()) {
src = "anonymous";
System.out.print("src: " + src);
}
//if the source already integer id
else {
src = line1parts[1].trim();
System.out.print("src: " + src);
}
}
该方案显示java.lang.ArrayIndexOutOfBoundsException
错误。我也尝试过if (line1parts[1].equals("")
和if (line1parts[1].equals(null)
。可能是SRC: (when empty)
字符串数组没有创建任何对象(对不起,如果我错了,我在Java中是非常新的)。如何在用户ID为空时分配用户ID?提前致谢。
你可以标记出现此错误的行吗?你可以[编辑]你的帖子。 – Arc676
您是否检查过索引'[0]'数据是否存在? –
'line1Parts'只有一个单元格,你可以通过在String(第二个参数,整数)后指定这个值来强制split方法返回2个单元格 – AxelH