到目前为止,我的程序一直很好。出于某种原因,尽管没有改变与下面的代码有关的任何事情,我收到了一个越界错误。所以基本上我的程序是从excel表中读取数据并将这些数据放入组合框中。例如,excel表数据是这样的:firstName,lastName,emailAddress,phoneNumber等。当我运行我的代码时," data [0]"被接受了,但是除此之外的任何事情都显然是出界的。尽管事实上它告诉我它已经超出范围,它仍然会读取数据并做它应该做的事情,为什么我会收到这个错误?
try {
br = new BufferedReader(new FileReader("Clients.csv"));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
String line = "";
String cvsSplitBy = ",";
String fullName = null;
try {
br = new BufferedReader(new FileReader("Clients.csv"));
while ((line = br.readLine()) != null) {
String[] data = line.split(cvsSplitBy);
fullName = data[0]+" "+data[1];
comboBox_1.addItem(fullName);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
答案 0 :(得分:0)
唯一可以抛出异常的行是fullName = data[0] + " " + data[1]
。可能是您的line
变量没有拆分符号。所以data
数组只有1个元素。请尝试以下方法:
String[] data = line.split(cvsSplitBy);
fullName = data[0];
if(data.length > 1) {
fullName += " " + data[1];
}