Для обработки CSV univocity-parser - ваш лучший выбор.Это также быстрее , чем любой другой парсер.
Попробуйте этот код:
String input = "'fname','lname'\n'ramprakash','seepana'\n";
CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial
settings.setHeaderExtractionEnabled(true); //use first row as headers
settings.getFormat().setQuote('\''); //using single quotes for clarity
settings.setKeepQuotes(true); //keep the quotes
CsvParser parser = new CsvParser(settings);
for (Record record : parser.iterateRecords(new StringReader(input))) {
Map<String, String> map = record.toFieldMap();
System.out.println(map);
}
Вывод:
{fname='ramprakash', lname='seepana'}
Надеюсь, это поможет
РЕДАКТИРОВАТЬ:
Я только что заметил, заголовки не будут заключены в кавычки (как правило, это то, что люди хотят).Вы все еще можете получить все с кавычками в виде простых строк и заполнить карту самостоятельно:
String input = "'fname','lname'\n'ramprakash','seepana'\n'I won\\'t go away'";
CsvParserSettings settings = new CsvParserSettings();
settings.getFormat().setQuote('\'');
settings.getFormat().setQuoteEscape('\\'); //added escape quote character too
settings.setKeepQuotes(true);
settings.setKeepEscapeSequences(true); //you probably want this
CsvParser parser = new CsvParser(settings);
for (String[] row: parser.iterate(new StringReader(input))) {
System.out.println(Arrays.toString(row));
}
Это напечатает:
['fname', 'lname']
['ramprakash', 'seepana']
['I won\'t go away']
Раскрытие информации: я являюсь автором этой библиотеки.Это с открытым исходным кодом и бесплатно (лицензия Apache V2.0)