gpt4 book ai didi

java - ColumnPositionMappingStrategy setType 已弃用

转载 作者:行者123 更新时间:2023-12-01 21:58:39 24 4
gpt4 key购买 nike

问题:

我正在使用 com.opencsv 来解析 CSV 文件并获取 java 对象数组。不幸的是,有一个名为 setType() 的方法已被弃用。我还没有找到等效的方法。

依赖关系:

  <dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>3.3</version>
</dependency>

规范(Javadoc):

3.6 版的 Javadoc(找不到 3.3): http://opencsv.sourceforge.net/apidocs/com/opencsv/bean/HeaderColumnNameMappingStrategy.html#setType(java.lang.Class)

我的代码:

   private List<importedFromCSV> handleCSV(byte[] bytes,Class clazz) throws IOException {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(bais));

ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setType(clazz);
//String[] columns = new String[] {"a","b"}; // the fields to bind do in your JavaBean
//do we want csv to include columns or do we hardcode the order?
CSVReader reader = new CSVReader(bufferedReader);
String [] columns;
if((columns = reader.readNext()) == null) {
return null;
}

strat.setColumnMapping(columns);

CsvToBean csv = new CsvToBean();
return csv.parse(strat, bufferedReader);
}

相关:

示例 - Populating Javabean via openCSV - code explanation

最佳答案

更新至版本3.6。它不再被弃用。

它在早期的 3.X 版本中已被弃用,因为我们试图找到一种使用泛型的方法(因此 getType 将返回 T 而不是 setType 中传递的内容)。当这被证明是不可能的时,代码被撤销,但弃用的内容被意外保留。

关于java - ColumnPositionMappingStrategy setType 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34017337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com