这让我彻底疯了!我已经做了一些错误测试,我现在真的不知道如何进行。
我正在从文本文件中读取数据,使用 String.split(",") 方法(我使用逗号)拆分行,并对数据进行处理。我遇到了麻烦...我收到了 ArrayIndexOutOfBoundsException。
这是我文件的前两行:
1,,1,Male Slave,,1,1,
2,yes,1,Bronze Cooking Pot,,,,
我的代码:
try {
File file = new File("/Accounts/changy/Desktop/GreekProject/data.txt");
Scanner sc = new Scanner(file);
sc.nextLine();
while (sc.hasNextLine()) {
String line = sc.nextLine();
String[] splitArray = line.split(",{1}");
System.out.println(splitArray.length);
System.out.println(splitArray[0] + "\t" + splitArray[1] + "\t" + splitArray[2]+ "\t" + splitArray[3]+ "\t" + splitArray[4]);
}
}
catch (NullPointerException e) {
System.out.println("NPE!!");
}
catch (FileNotFoundException e) {
System.out.println("FNFE!!");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("AIOOBE!!")
}
所以如果我省略 splitArray[4],代码运行得非常好。我什至尝试在行尾添加额外的逗号,但这无济于事。数组的长度是 7,所以对我来说第五个条目是空的真的没有意义......任何帮助将不胜感激。