0

我正在使用 Apache MetaModel 来获取架构信息。有一个用例,我需要为CsvDataContext没有标题的 csv 文件创建对象。我在单独的数据结构 ( List<String> colNames) 中有列名。

context对象将列名称指定为"A", "B", "C", etc。我猜元模型会为没有标题的表分配一些默认列名。

有没有办法修改CsvDataContext对象持有的模式?

我相信UpdateableDataContext应该可以,但是文档没有公开任何允许修改列名等元数据的方法。

如何实现这种情况?

4

1 回答 1

1

当你创建你的CsvDataContext,你指定一个CsvConfiguration. 中的一个选项CsvConfiguration是提供一个ColumnNamingStrategy. 默认策略实际上是使用字母字符、ABC。但是您可以使用自定义命名策略,如下所示:

ColumnNamingStrategy columnNamingStrategy =
    ColumnNamingStrategies.customNames("id", "foo", "bar", "baz");
CsvConfiguration configuration = new CsvConfiguration(
    0, columnNamingStrategy, "UTF-8", ',', '"', '\\', true, false);
return new CsvDataContext(file, configuration);
于 2018-10-05T04:02:44.910 回答