1
我有一个简单的文本文件:阵列IndexOutOfBoundsException异常
John Jobs 225 Louis Lane Road
Amy Jones 445 Road Street
Corey Dol 556 The Road
在那里我有人们首先,姓氏和地址
我试图分析它们是这样的:
public void parseText() {
try {
File file = new File("test.txt");
String[] splitted;
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
String s = sc.nextLine();
splitted = s.split("\\s+");
System.out.println(splitted[0]);
}
sc.close();
} catch (FileNotFoundException e) {
System.out.println("Error"); }
}
splitted [0]正常工作,打印出人物的名字。 splitted [1]打印出姓氏,但给我一个IndexOutOfBoundsException。 spitted [2]打印出每个地址的第一个整数值,但又给我一个例外。
于是我试着这样做:
String[] splitted = new String[4];
,并再次试图比0访问任何指数更大,但仍然有这个问题。 我在做什么错?
您是否尝试过调试?在“split”之前打印出“String s”,看看它实际得到了什么。然后在分配它之后尝试打印出'splited'数组。看看它显示的是什么 – 3kings
嗯,它看起来是字符串s,是整个文本文件(当打印出来,在字符串拆分之前)。 – TopKek
啊,所以你不能在每行后面的文件中有新的行字符 – 3kings