Я хочу прочитать CSV-файл в список строк. Я также хочу, чтобы он обрезал пробелы и позволял использовать запятую. Мой CSV-файл выглядит следующим образом:
abcdefghijklmno ,
pqrstuwzabcdefh,
ijklmnopqrstuwyz,
zabcdefghijklmopqr,
И когда я пытаюсь разобрать его, используя мой метод:
fun parseCsv(inputStream: InputStream): List<String> {
val mapper = CsvMapper().enable(CsvParser.Feature.TRIM_SPACES).enable(CsvParser.Feature.ALLOW_TRAILING_COMMA)
val schema = CsvSchema
.emptySchema()
.withLineSeparator("\n")
.withColumnSeparator(',')
.withQuoteChar('"')
return try {
mapper
.readerFor(String::class.java)
.with(schema)
.readValues<String>(inputStream)
.readAll()
} catch (e: IOException ) {
logger.error("Error parsing file", e)
emptyList()
} catch (e: NoSuchElementException) {
throw FileParsingError(e)
}
}
Я получаю:
expected == actual
| | |
| | [abcdefghijklmno, ]
| false
[abcdefghijklmno, pqrstuwzabcdefh, ijklmnopqrstuwyz, zabcdefghijklmopqr]
Как исправить это?