Я хочу пропустить первую строку и использовать вторую в качестве заголовка.
Я использую классы из apache commons csv для обработки файла CSV.
Заголовок файла CSV находится во второй строке, а не в первой (которая содержит координаты).
Мой код выглядит так:
static void processFile(final File file) {
FileReader filereader = new FileReader(file);
final CSVFormat format = CSVFormat.DEFAULT.withDelimiter(';');
CSVParser parser = new CSVParser(filereader, format);
final List<CSVRecord> records = parser.getRecords();
//stuff
}
Я наивно думал,
CSVFormat format = CSVFormat.DEFAULT.withFirstRecordAsHeader().withDelimiter(;)
решит проблему, так как он отличается от withFirstRowAsHeader, и я думал, что он обнаружит, что первая строка не содержит точек с запятой и не является записью. Это не так. Я попытался пропустить первую строку (которую CSVFormat, кажется, считает заголовком) с помощью
CSVFormat format = CSVFormat.DEFAULT.withSkipHeaderRecord().withFirstRecordAsHeader().withDelimiter(;);
но это тоже не работает. Что я могу сделать? В чем разница между withFirstRowAsHeader и withFirstRecordAsHeader?