У меня есть файл CSV, который будет иметь разделитель или незакрытые кавычки внутри кавычек. Как заставить CSVReader игнорировать кавычки и разделители внутри кавычек. Например:
123|Bhajji|Maga|39|"I said Hey|" I am "5|'10."|"I a do "you"|get that"
Это содержимое файла.
Приведенная ниже программа для чтения файла csv.
@Test
public void readFromCsv() throws IOException {
FileInputStream fis = new FileInputStream(
"/home/netspurt/awesomefile.csv");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
CSVReader reader = new CSVReader(isr, '|', '\"');
for (String[] row; (row = reader.readNext()) != null;) {
System.out.println(Arrays.toString(row));
}
reader.close();
isr.close();
fis.close();
}
Я получаю o/p что-то вроде этого.
[123, Bhajji, Maga, 39, I said Hey| I am "5|'10., I am an idiot do "you|get that]
что случилось цитировать после you
Изменить: зависимость Opencsv com.opencsv opencsv 3.4