下面的示例是csv文件中的记录,该记录由逗号定界符分隔开。但是,当特定的列本身具有逗号时(如下面的csv文件中双引号“”所示),有机会出现。

CSV文件中的示例:Column1,Column2,“ Column,3”,-,1G9937

当我尝试在第三个位置使用Java代码读取此文件时,它仅显示Column而不是Column 3,我该如何解决这种情况?

String cvsSplitBy = ",";

try {

    br = new BufferedReader(new FileReader(csvFile));
    while ((line = br.readLine()) != null) {

            // use comma as separator
        String[] businessdirection = line.split(cvsSplitBy);

        System.out.println("FuncVP = " + businessdirection[0]   + " , VP=" + businessdirection[1] + " , VP=" + businessdirection[2]+ " , VP=" + businessdirection[3] + " , VP=" + businessdirection[4]+ " , VP=" + businessdirection[5]);

最佳答案

您不能只使用split来解析CSV文件。您可以使用一个库(例如SuperCSV或OpenCSV),或者必须遵循所有CSV格式规则。例如,在这里您应该忽略双引号之间的定界符(即逗号)(您可以使用正则表达式)。

10-06 14:47