Я пытаюсь извлечь информацию из файла, который отформатирован следующим образом:ArrayIndexOutOfBounds Когда Разбиение строки
1
[email protected]|password|false
Однако, я, кажется, становится ArrayIndexOutOfBounds
ошибок при выполнении следующего кода и я не могу определить причина для этого, поскольку я считаю, что мое расщепление должно функционировать правильно. Ошибка получается в строке, начинающейся с «users».
sc = new Scanner (System.in);
BufferedReader in = new BufferedReader (new FileReader (USAVE));
int repeats = Integer.parseInt(in.readLine());
for (int c = 0; c < repeats; c++){
String info = in.readLine();
System.out.println (info);
String[] extracted = info.split("\\|");
users.addUser(extracted[0], decryptPassword(extracted[1]));
}
in.close();
В чем проблема?
EDIT: Я изменил «|» на "\ |" но проблема сохраняется.
EDIT2: StackTrace
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at OnlineCommunications.userFromFile(OnlineCommunications.java:165)
at OnlineCommunications.logIn(OnlineCommunications.java:36)
at OnlineCommunications.emailOption(OnlineCommunications.java:593)
at OnlineCommunications.main(OnlineCommunications.java:683)
Метод, который я разместил выше, является один названный userFromFile
.
+1 Для '[|]' :) –
Спасибо за ваш ответ, но кажется, что я все еще получаю ошибку. :(Я ранее пытался использовать «,», чтобы отделить значения. – n0shadow
@mCode, если я применяю split к '[email protected] | password | false', я получаю emailadd с индексом 0 password по индексу 1 и false на index 2. Вы уверены, что это источник вашего исключения. Можете ли вы обновить сообщение с помощью stacktrace, пожалуйста. – PermGenError