首页 > 解决方案 > 如果 bean 列表为空,OpenCSV 不会写入标题

问题描述

当使用带注释的 opencsv 和 StatefulBeanToCsv 时,当 bean 列表为空时,不写入标头。我会假设这个测试成功,但事实并非如此。

private class bean1 {
    @CsvBindByName(column = "column1")
    private String col1;

    public String getCol1() {
        return col1;
    }

    public void setCol1(String col1) {
        this.col1 = col1;
    }
}

@Test
public void testOpenCsvEmptyBeanList() throws CsvException {
    StringWriter sw = new StringWriter();
    
    StatefulBeanToCsv<bean1> sbc = new StatefulBeanToCsvBuilder<bean1>(sw)
            .withLineEnd(CSVWriter.DEFAULT_LINE_END)
            .build();
    
    // empty bean list
    sbc.write(new ArrayList<>());
    
    assertEquals("column1" + CSVWriter.DEFAULT_LINE_END, sw.toString());
}

有什么想法可以使这个测试有效吗?

标签: javaopencsv

解决方案


推荐阅读