Проблема синтаксического анализатора Android CSV

У меня проблема при анализе файла CSV. Это всего лишь 2 строки данных, разделенных запятой. Первая строка - это дата, а вторая строка - значение. В поле даты всегда есть даты, но иногда значение пустое (или нулевое?). Когда он достигает нулевого значения, я получаю исключение StringIndexOutOfBoundsException, и приложение вылетает. Я регистрирую каждый цикл и вижу данные, но как только я получаю нулевое значение, цикл прекращается и выдается сообщение об ошибке. Если нет нулевых значений, он отлично работает. Вот мой код:

        BufferedReader buf = new BufferedReader(new StringReader(file));
        String line = null;
        while ((line = buf.readLine()) != null) {
            try {
                String date = null, value = null;
                String[] RowData = line.split(",");
                date = RowData[0];
                value = RowData[1]; (this is the row it crashes on)

Вот как выглядит CSV:

2011-08-28 09: 16,8.23

2011-08-28 09: 15,8.24

2011-08-28 09: 14,8.26

2011-08-28 09: 13,8.34

2011-08-28 09:12,

2011-08-28 09: 11,10.72

2011-08- 28 09:10,

2011-08-28 09:09,

значение в 09:13 - последнее, что в logcat перед тем, как я получу ошибку.

Это исправило:

                if(RowData.length == 2) {
                    date = RowData[0];
                    value = RowData[1];
                } else {
                    date = RowData[0];
                    value = "0";
                }

Я написал 0 в поле значения, чтобы последующие процессы не подавились нулевым значением. Спасибо за вашу помощь, ребята!

0
задан Opy 29 August 2011 в 20:23
поделиться