Как обрабатывать символ одинарной кавычки при использовании openCsv - PullRequest
0 голосов
/ 24 октября 2018

У меня есть читатель, который определяется следующим образом:

    CSVReader csvReader =new CSVReader(new InputStreamReader(inputStream), ',', '\'');
    StringBuilder stringBuilder = new StringBuilder();
    String[] line;
    if (SPECIAL_CHARS == null || SPECIAL_CHARS.length == 0) {
        return inputStream;
    }
    String[] stringArrSpecialChars = new String(SPECIAL_CHARS).split("");

    while ((line = csvReader.readNext()) != null) {
          //do somthing
    }

как бы он ни выдавал эту ошибку:

java.io.IOException: Unterminated quoted field at end of CSV line. Beginning of lost text: [D'Olra

, когда он встречает ячейку CSV с: D'Olra

Любой совет?

1 Ответ

0 голосов
/ 24 октября 2018

Исправлено путем замены первой строки на:

char charThatWillNotAppearInText = 127;
CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream), ',', charThatWillNotAppearInText);

Это обходной путь, который отключает опцию 'quotechar' в предположении, что char с 127 никогда не будет частью входного CSV-файла.

...