使用SuperCSV在CSV文件中跳过可选标题

时间:2016-02-17 13:18:42

标签: java csv import supercsv

我有一个系统,用户可以通过csv文件导入数据。 使用SuperCSV将文件解析为POJO。

我希望能够在有或没有标题行的情况下管理这些文件。

CsvBeanReader.getHeader(true)将提取第一行,但如果它不是标题,则该行不会被BeanReader解析。

是否有一种简单的方法可以检测标题而不会丢失第一行数据?

3 个答案:

答案 0 :(得分:1)

从文件中读取值时跳过超级csv标头的最佳方法: -

//不要写这行beanReader.getHeader(true)

//在读取值之前传递您已声明的头文件数组,如header = {column1},{column2}

//然后使用下面的行,排除标题

beanReader.read(类型,标题,处理器))

以上步骤帮助我们阅读没有标题保存的csv文件。

答案 1 :(得分:0)

最简单的解决方案是只读取文件两次(在第一次传递时检查预期的标题 - 您只需要读取第一行,并在第二次传递时使用/不使用标题读取)。

答案 2 :(得分:0)

我找到了解决方案。

通过使用Reader打包提供的BufferedReader,我可以标记开头,阅读第一行,然后reader.reset(),如果它不是标题。