1

给定两个类

public class Inventory {
    private List<InventoryLine> lines;
}

public class InventoryLine {
    private String itemName;
    private int quantity;
    private String description;
}

我想打印以下 CSV 文件(使用 ',' 作为分隔符,但为了可见性,我在这里使用了空格):

Name    Quantity    Description
Book    4           A book
Watch   0           Gold watch
Phone   8           iPhone 8

使用 Conversion 注释和实现提供的 Conversion 接口的类是否可以创建上述 CSV(通过打印 Inventory 类)?我看到他们提供了带有列表的示例,但他们使用分隔符将它们合并到一列中。我没有看到这个案例的任何例子。

4

2 回答 2

1

图书馆的作者在这里。解析器不处理类的层次结构。您只能编写列表本身:

new CsvRoutines().writeAll(inventory.getLines(), InventoryLine.class, new File("/path/to/your.csv"), "UTF-8");

希望这可以帮助。

于 2018-08-09T02:29:43.637 回答
0

如果您考虑使用其他库。

试试这个

maven依赖

   <dependency>
        <groupId>io.github.francisfernandez28</groupId>
        <artifactId>libraries</artifactId>
        <version>0.2.5-SNAPSHOT</version>
    </dependency>

用法:

String csvString = CSVUtils.generateCSVStringFromListOfModel(inventory.getLines(),",");

然后写

csv字符串

到你的文件中。

于 2018-08-09T10:07:18.487 回答