У меня есть простой текстовый файл:Массив IndexOutOfBoundsException на Textfile Parse
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"); }
}
раскол [0] отлично работает, в котором печатаются первые имена людей. splitted [1] печатает фамилии, но дает мне IndexOutOfBoundsException. spitted [2] печатает первые целые значения каждого адреса, но снова дает мне исключение.
Так Тогда я попытался сделать это:
String[] splitted = new String[4];
и еще раз попробовал доступ к любому индексу больше 0, но все-таки получили эту проблему. Что я делаю неправильно?
вы пробовали отладки? Распечатайте 'String s' перед' split', чтобы увидеть, что он на самом деле получает. Затем попробуйте распечатать массив 'splited' после его назначения. Посмотрите, что он показывает – 3kings
Хмм, это, кажется, String s, это весь текстовый файл (при распечатке, до разделения строк). – TopKek
Ahh поэтому у вас не должно быть новых символов строки в файле после каждой строки – 3kings