Quando sto leggendo un file csv usando opencsv, non funziona correttamente quando si incontra un '\' alla fine di una stringa. Rende la "parte della stringa, invece che il \" come voglio.Penso che ci sia un metodo per aggiungere un altro '\' per farlo sfuggire al carattere '\' - invece? Senza .. modificare manualmente il file CSV ho cercato ma non trovato nullaCome leggere una stringa contenente un '' usando opencsv?
Per chiarire il mio problema, sembra che questo:
file CSV
"A", "B", "C", "D"
"value 1", "value 2", "value 3", "value 4"
"value 5", "value 6\", "value 7", "value 8"
il mio codice è simile al seguente (non proprio, ma mostra il mio problema):
String inFile = "in.csv";
CSVReader reader = new CSVReader(new FileReader(inFile));
String[] line;
while ((line = reader.readNext()) != null) {
for (int i = 0; i < line.length(); i++) {
System.out.println(i + " " + line[i]);
}
}
Voglio che questo si analizzi in una stringa [] con 4 elementi ciascuno, per ogni riga, ma l'ultima riga analizza solo in due elementi, come mostrato nell'output sottostante.
1 A
2 B
3 C
4 D
1 value 1
2 value 2
3 value 3
4 value 4
1 value 5
2 value 6",value 7,value 8
Ho provato a cambiare il lettore a:
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(inFile), "UTF-8"));
ma senza alcuna fortuna.
Grazie! Ora sono in grado di leggere quella linea come dovrebbe. Tuttavia, ho anche il carattere ** | ** nel file. C'è un modo per saltare il personaggio di fuga? –
Prova ''\ 0''. Penso che questo non sia valido per CVS – user000001
Fantastico! Questo è stato. Molte grazie! –