Я создал программу, которая читает текстовый файл, содержащий твиты. Этот текстовый файл составляет 16 МБ, поэтому он очень большой. Моя программа читает его по строкам и добавляет слова в ArrayList. Выполняя это, я получил ArrayIndexOutOfBoundsException
. Я отлаживал свой код, чтобы расстаться с его исключением. Я заметил, что код продолжает работать после исключения исключения и добавляет слова в ArrayList.Java Добавление больших данных ro ArrayList
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:39)
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:39)
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:39)
java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:39)
#Jobs: 272
#Job: 269
#jobs: 225
#TweetMyJOBS: 223
#job: 155
Так выглядит на консоли. После нескольких исключений моя программа запускается и отображает результат. Результат также неверен. Например, сначала нужно #Jobs: 4251. Кто-нибудь есть идея, почему он будет бросать исключение, а затем продолжает работать?
вот код:
try
{
line = reader.readLine();
// scan = new Scanner(textinput);
while (line != null)
{
String[] splitted = line.split("#"); // Line splitted according to "#".
for (int x = 1; x < splitted.length; x++)
{
String[] temp = splitted[x].split(" "); // String splitted with space and first word is hashtag.
try
{
//Line 39 is here.
hashtags.add(temp[0]); // hashtag added to ArrayList.
} catch (ArrayIndexOutOfBoundsException e)
{
e.printStackTrace();
}
}
line = reader.readLine();
linenum++;
}
} catch (FileNotFoundException e1)
{
e1.printStackTrace();
}
Как мы можем помочь вам, не видя код? – WeSt
Можете ли вы показать свой код? Что в строке 39? – Eran
при вставке в arraylist, вы вставляете, указав номер индекса? – Vihar