Java 使用SUPERSV跳过CSV文件中的可选标头

Java 使用SUPERSV跳过CSV文件中的可选标头,java,csv,import,supercsv,Java,Csv,Import,Supercsv,我有一个系统,用户可以通过csv文件导入数据。 使用SuperCSV将该文件解析为POJO 我希望能够管理这些文件,无论是否有标题行 CsvBeanReader.getHeader(true)将提取第一行,但如果它不是头,则BeanReader不会解析该行 有没有一种简单的方法可以在不丢失第一行数据的情况下检测标题?最简单的解决方案是只读取文件两次(第一次读取时检查预期的标题-您只需要读取第一行,第二次读取时带/不带标题)。我找到了一个解决方案 通过使用BufferedReader包装提供的读取

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

我希望能够管理这些文件,无论是否有标题行

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


有没有一种简单的方法可以在不丢失第一行数据的情况下检测标题?

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

我找到了一个解决方案


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

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

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

//在读取您声明的值passheaders数组之前,如headers={column1}、{column2}

//然后使用下面的行,不包括标题

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

以上步骤帮助我们读取无标题保存的csv文件