Я получаю сообщение об ошибке «Отсутствует разделитель значений в позиции 1» при импорте файла CSV с Java.
Вот мой код:
protected int getFieldCount()
{
return 3;
}
protected void importRecord(List<String> record, int lineNumber) {
String rawScore = record.get(ELEMENT_RAW_SCORE).trim();
String contextScore = record.get(ELEMENT_CONTEXT).trim();
String subtest = record.get(ELEMENT_SUBTEST).trim();
}
если мой CSV-файл выглядит так:
95,Performance Scale,codes,
ME,Performance Scale,Numbers,test
NM,Scale,Strategies,
Когда я оставляю лишний символ в одной из строк, так как в строке 2 есть «test», я получаю сообщение об ошибке, в противном случае импорт выполняется нормально. Ошибка появляется для каждой строки, даже если я добавляю только одну из строк.
Метод getFieldCount()
возвращает int ожидаемое количество полей, которые должны присутствовать в каждой записи в исходном файле, или неположительное значение, если количество полей не строго соблюдается.
Строковые методы, такие как split("\t")
, не работают, так как это не разделитель табуляции, вызывающий эту проблему. Код не перестает читать после колонки 3, даже когда я строго навязал его. Как я могу сказать, что ничего не читал после колонки 3?