Я работаю над извлечением значений из текстового файла, разделенного табуляцией, в список в groovy.Но я сталкиваюсь с ArrayIndexOutOfBoundsException
.
Код
println("Reading File Contents")
def fullArray = new String[31721][4]
def availableArray = new String[1386][2]
def filteredFullArray = new String[1386][5]
String fileContents = new File('beliefs.txt').text
String availableContents = new File('available.txt').text
def count = 0
fileContents.eachLine { line ->
String[] str
str = line.split('\t')
def subCount = 0
for (subCount; subCount < str.length; subCount++) {
fullArray[count][subCount] = str[subCount]
}
count++
}
faiths.txt
1 Azerbaijan hasOfficialLanguage Azerbaijani_language
2 Augustus hasChild Julia_the_Elder
3 Arthur_Aikin isCitizenOf England
4 Arthur_Aikin diedIn London
5 Alexander_III_of_Russia isMarriedTo Maria_Feodorovna__Dagmar_of_Denmark_
6 Alexander_III_of_Russia hasChild Nicholas_II_of_Russia
7 Alexander_III_of_Russia hasChild Grand_Duke_Michael_Alexandrovich_of_Russia
8 Alexander_III_of_Russia hasChild Grand_Duchess_Olga_Alexandrovna_of_Russia
9 Alexander_III_of_Russia hasChild Grand_Duke_Alexander_Alexandrovich_of_Russia
10 Alexander_III_of_Russia hasChild Grand_Duke_George_Alexandrovich_of_Russia
...
...
...
31719 Minqi_Li isKnownFor Chinese_New_Left
31720 Henry_Bates_Grubb isKnownFor Mount_Hope_Estate
31721 Thomas_Kuhn isKnownFor Paradigm_shift
При выполнении этого я получаю следующую ошибку.
Выловлено: java.lang.ArrayIndexOutOfBoundsException: 4 java.lang.ArrayIndexOutOfBoundsException: 4 в extractBeliefs $ _run_closure1.doCall (extractBeliefs.groovy: 19) в extractBeliefs.run (extractBelief 12).
Мне известна причина, по которой может возникнуть вышеуказанная ошибка.Но так как мой массив не превышает последний индекс и поскольку показано, что ошибка находится в строке fileContents.eachLine { line ->
, я не могу найти, где это происходит неправильно.
Любые предложения на этот счет будут весьмаоценили.