Java 使用OpenCsv将CSV元素映射到字符串列表?

Java 使用OpenCsv将CSV元素映射到字符串列表?,java,csv,opencsv,Java,Csv,Opencsv,我有一个由单个空格字符分隔的CSV文件,如下所示- <HEADING ROW> a b c,d,e,f m n o,p,q 所以这个对象中的所有字段都是不同类型的,尤其是最后一个字段,它是列表类型的,可以是任何非零长度。 以下是我将CSV文件映射到这些对象列表的代码: public List<Foo> readCsvFromPath(final String filePath) throws IOException { try (Reader r

我有一个由单个空格字符分隔的CSV文件,如下所示-

<HEADING ROW>
a b c,d,e,f
m n o,p,q
所以这个对象中的所有字段都是不同类型的,尤其是最后一个字段,它是列表类型的,可以是任何非零长度。 以下是我将CSV文件映射到这些对象列表的代码:

    public List<Foo> readCsvFromPath(final String filePath) throws IOException {
        try (Reader reader = Files.newBufferedReader(Paths.get(filePath));) {
            CsvToBean<Foo> csvToBean = new CsvToBeanBuilder<Foo>(reader)
                    .withSeparator(' ')
                    .withType(Foo.class)
                    .build();
            return csvToBean.parse();
        }
    }
public List readCsvFromPath(最终字符串文件路径)引发IOException{
try(Reader=Files.newbuffereder(path.get(filePath));){
CsvToBean CsvToBean=新的CsvToBeanBuilder(读卡器)
.带分离器(“”)
.withType(食品类)
.build();
返回csvToBean.parse();
}
}
这里我不确定的是,CSV文件的最后一个元素,即“c,d,e,f”或“o,p,q”如何分别映射到列表中,如
{“c”,“d”,“e”,“f”}
{“o”,“p”,“q”}

可以使用

替换此代码

@CsvBindByName(column=“heading3”,必需=true)
私人名单第四;

@CsvBindAndSplitByName(column=“heading3”,required=true,elementType=String.class,splitOn=“,”)
私人名单第四;
    public List<Foo> readCsvFromPath(final String filePath) throws IOException {
        try (Reader reader = Files.newBufferedReader(Paths.get(filePath));) {
            CsvToBean<Foo> csvToBean = new CsvToBeanBuilder<Foo>(reader)
                    .withSeparator(' ')
                    .withType(Foo.class)
                    .build();
            return csvToBean.parse();
        }
    }