我似乎无法弄清楚导致此后续错误的原因“线程中的异常”主“java.lang.ArrayIndexOutOfBoundsException:1 在Bank.main(Bank.java:42)< ---这一行指的是以“banklist.add(new Bank(values [0] ....”
开头的代码行)public static void main (String[] args) throws FileNotFoundException
{
FileReader fr = new FileReader("Bank Data.txt");
BufferedReader reader = new BufferedReader(fr);
List<Bank> banklist = new ArrayList<Bank>();
try {
String line;
while ((line = reader.readLine()) != null)
{
String[] values = line.split("/t"); // Split on "tab"
banklist.add(new Bank(values[0], Integer.parseInt(values[1]),Integer.parseInt(values[2]),Integer.parseInt(values[3]),Integer.parseInt(values[4]), values[5])); // Create a new Player object with the values extract and add it to the list
答案 0 :(得分:1)
最可能的解释是,在您的文件中,有些行没有标签。也许最后一行是空的。
可能的解决方案可能是进行防御性编程并在将数据直接索引为数组[1]之前检查数组的长度。
答案 1 :(得分:0)
您使用了错误的表达方式。
查找以下解决方案..
while ((line = reader.readLine()) != null) {
String regexp = "[\\s,;\\t]+";
String[] values = line.split(regexp);
banklist.add(new Bank(values[0],
Integer.parseInt(values[1]),
values[2],
values[3],
Integer.parseInt(values[4]),
values[5])
);
}
答案 2 :(得分:0)
您已在/t
而非\t
上拆分。注意反斜杠而不是正斜杠。
由于您的行可能不包含任何/t
序列,因此您无法获得代码所需的所有单词。