Анализ файла CSV в Java, когда разделитель является частью данных

Я пишу части CSV. Это легко написать с помощью Java

String s = null
while( (s= bufferedReadr.readLine() !=null){
  String parts[] = s.split(',');
  //process parts
}

The problem is data is in format
"a", "b","c","d","e","f".

But some of the data is
"a" ,",b" ,"c",",a","e","f" .

РЕДАКТИРОВАТЬ

Дело в том, что я получаю одну строку ввода CSV из другого кода, который я не могу изменить.

Так что я получаю каждую строку в формате CSV. И я хочу разделить это. Я не могу использовать csvlibs, поскольку они анализируют весь файл и требуют дескриптор файла.

некоторые цитаты присутствуют с частями данных, что вызывает проблемы.

Как мне решить это? Любые открытые библиотеки src, которые я могу использовать?

2 ответа

Решение

Не разделяйте данные самостоятельно. Используйте одну из доступных библиотек, которые хорошо справляются с этой задачей. Например, посмотрите на opencsv.

Как говорят другие комментарии, используйте OpenCSV. Есть класс CSVReadr с этим конструктором

public CSVReader(Reader reader, char separator, char quotechar)
И такие методы, как readAll(), readNext(), .... О Читателе, есть много разных вариантов: .., InputStreamReader, StringReader

Другие вопросы по тегам