我有这个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