Java ColumnPositionMappingStrategy集合类型已弃用 问题:

Java ColumnPositionMappingStrategy集合类型已弃用 问题:,java,opencsv,Java,Opencsv,我正在使用com.opencsv解析一个CSV文件并获取java对象数组。有一个名为setType()的方法不幸被弃用。 我还没有找到一个等效的方法 附属国: com.opencsv 我的代码: private List handleCSV(字节[]字节,类clazz)引发IOException{ ByteArrayInputStream bais=新的ByteArrayInputStream(字节); BufferedReader BufferedReader=新的BufferedRead

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

附属国:

com.opencsv

我的代码:
private List handleCSV(字节[]字节,类clazz)引发IOException{
ByteArrayInputStream bais=新的ByteArrayInputStream(字节);
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(BAI));
ColumnPositionMappingStrategy=新ColumnPositionMappingStrategy();
层集类型(clazz);
//String[]columns=newstring[]{“a”,“b”};//要绑定的字段在JavaBean中
//我们希望csv包含列还是硬编码订单?
CSVReader读取器=新的CSVReader(bufferedReader);
字符串[]列;
if((columns=reader.readNext())==null){
返回null;
}
层设置列映射(列);
CsvToBean csv=新的CsvToBean();
返回csv.parse(strat,bufferedReader);
}
相关的:
示例-

更新到3.6版。它不再被弃用


它在早期的3.X版本中被弃用,因为我们试图找到一种处理泛型的方法(因此getType将返回T,而不是setType中传递的内容)。当这被证明是不可能的时候,代码被备份了,但是不小心被弃用了

更新到3.6版。它不再被弃用


它在早期的3.X版本中被弃用,因为我们试图找到一种处理泛型的方法(因此getType将返回T,而不是setType中传递的内容)。当这被证明是不可能的时候,代码被备份了,但是不小心被弃用了

看这个:@Denis Gavrus他们真粗鲁。。。。我猜该页面的链接将出现在带有
@SuppressWarnings(“弃用”)
注释的注释中!看这个:@Denis Gavrus他们真粗鲁。。。。我猜该页面的链接将出现在带有
@SuppressWarnings(“弃用”)
注释的注释中!谢谢你的回答。顺便说一下,在阅读javadoc时,我注意到了一些关于读取标题的内容。有没有比现在更好的方法读取数组中的字段/列,然后执行CsvToBean?谢谢是-在opencsv中的测试中有一些集成测试。查看HeaderColumnNameMappingStrategyUserTest。下面是测试的主要片段。私有列表createTestParseResult()抛出FileNotFoundException{CSVReader reader=new CSVReader(new FileReader(USER_FILE));HeaderColumnNameMappingStrategy strat=new HeaderColumnNameMappingStrategy();strat.setType(MockUserBean.class);CsvToBean csv=new CsvToBean();返回csv.parse(strat,reader);}谢谢你的回答。顺便说一下,在阅读javadoc时,我注意到了一些关于读取标题的内容。有没有比现在更好的方法读取数组中的字段/列,然后执行CsvToBean?谢谢是-在opencsv中的测试中有一些集成测试。查看HeaderColumnNameMappingStrategyUserTest。下面是测试的主要片段。私有列表createTestParseResult()抛出FileNotFoundException{CSVReader reader=new CSVReader(new FileReader(USER_FILE));HeaderColumnNameMappingStrategy strat=new HeaderColumnNameMappingStrategy();strat.setType(MockUserBean.class);CsvToBean csv=new CsvToBean();返回csv.parse(strat,reader);}
  <dependency>
                <groupId>com.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>3.3</version>
            </dependency>
   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);
    }