我有這個CSV這種格式分割CSV,我需要16件分裂,與文本的根據:的Java有兩種模式
"MY TEXT","EVER, OK",,,,,,,,,,"The, CARLO","DO","ALFA","OME, GA",,
我有這樣的方式,但出現的情況下與內部逗號時「 OME,GA「不起作用。
String[] lineToMap = line.split(",");
我該如何控制這種情況?
解決方案
我發現這個庫:打開CSV,在我的測試工作非常好,但我與編纂的問題(奇怪的符號,而不是像U)與像ü,ö等字符我使用德語和法語等語言。我正在用UTF-8進行測試,但沒有工作,任何想法來解決這個問題?
CSVReader reader=new CSVReader(new InputStreamReader(new FileInputStream("data/test.csv"), "UTF-8"),
',', '"', 0);
//Read CSV line by line and use the string array as you want
String[] nextLine;
try {
while ((nextLine = reader.readNext()) != null) {
if (nextLine != null) {
for (String element : nextLine) {
System.out.println(element);
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
爲什麼要拆分它,而不是使用CSV閱讀器? – StackFlowed
抓住引號內的每一個項目。 – Emz
是的,但該行表示16件,即使是空的部分,如,,,,,, =空白部分,但我需要它,我相信接下來閱讀會給你空如果它是空的任何方式 – Miofino