我正在尝试使用CharAt来解析csv文件。我想获得逗号的索引,所以我可以找到每个数字的位置。
每个字符串中都有2个逗号,当我搜索char时,我得到了异常。
为了确保字符串中确实有逗号,我对其进行了硬编码。我仍然是例外。
while ((t= in.readLine()) != null)
{
// read iun line
// extract data
t="45446,45456456,464646";
// EXCEPTION GOES OFF HERE
p=t.charAt(',');
sTimeStamp=t.substring(0, p-1);
t=t.substring(p+1);
p=t.charAt(',');
sPoint=t.substring(0, p-1);
t=t.substring(p+1);
p=t.charAt(',');
sVol=t.substring(0, p-1);
// store data
}
LoadGraph(reply);
System.out.println("finish Read indata");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "nn";
}
答案 0 :(得分:0)
这是你的问题:
p=t.charAt(',')
根据ASCII表,','相当于44。
由于您的String少于44个字符,因此您将获得IndexOutOfBoundException。
答案 1 :(得分:0)
我认为使用t.indexOf(",")
代替t.charAt(',')
可以按照您想要的方式运作。