Я бы предложил вам реструктурировать код. Проблема не только в том, что есть какая-то ошибка синтаксического анализатора, но и в том, что трудно сказать, что происходит - код явно делает предположения о структуре строки ввода, но вы должны как бы прочитать и проследить способ реструктурировать это в вашем уме.
Что-то вроде
/** Expect a line of the form model, length, ...,
return a list of ...
*/
private String[] parse (String inputLine)
{
//check input line charachteristics-not null, length, ...
String out= inputLine.split(",");
if (out.length()!= ...
//whatever sanity checking...
}
private List<String[]> extract(BufferedReader fin)
{
while((outputline = fin.readLine()) != null)
{
//do something with parse(outputline);
}
}
Полезно будет разделить чтение файла и разбор строки, чтобы вместо того, чтобы делать все это в длинной последовательности, вы могли видеть, что происходит, скорее всего, предположение о структуре строки, скрытой в коде. Нужно ли 4 целых числа через запятую? 5? как насчет, если они дополняются пробелами? с префиксом пустой строки?