Я пишу этот класс для другой программы и продолжаю получать исключение Array вне границ при разбиении строки str .
static String[][] readFile(){
BufferedReader in;
count = 0;
String[][] ret = new String[20][2];
try
{
in = new BufferedReader(new FileReader(CFGfolder+"\\input.ini"));
String str;
while((str=in.readLine()) != null){
if(str!="[GameEvents]"){
ret[count][0]=str.split("=")[0];
ret[count][1]=str.split("=")[1];
count++;
}
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return ret;
}
Это формат файла, который он читает.
evtCastSpell1=[q]
evtCastSpell2=[w]
evtCastSpell3=[e]
evtCastSpell4=[r]
Я попытался увидеть, что на самом деле является строкой str (то есть, напечатать ее безразделение), и это показывает, что он правильно читает файл и помещает его в массив.Проблема возникает, когда я пытаюсь прочитать [1] разделенной строки. [0] в порядке, и он правильно печатает
evtCastSpell1
evtCastSpell2
evtCastSpell3
evtCastSpell4
Я действительно понятия не имею, почему он не читает часть [1] .Обычно такого рода ошибки происходят из выражений регулярных выражений, понимает ли это [ во второй части как выражение регулярного выражения?Как бы мне обойти это, если так?Я попытался осмотреться, но все, что я могу найти, это похожие ошибки, которые происходят из-за выражений регулярных выражений.Это один и тот же?
Спасибо за вашу помощь.