我有一个系统,用户可以通过csv文件导入数据。 使用SuperCSV将文件解析为POJO。
我希望能够在有或没有标题行的情况下管理这些文件。
CsvBeanReader.getHeader(true)
将提取第一行,但如果它不是标题,则该行不会被BeanReader解析。
是否有一种简单的方法可以检测标题而不会丢失第一行数据?
答案 0 :(得分:1)
从文件中读取值时跳过超级csv标头的最佳方法: -
//不要写这行beanReader.getHeader(true)
//在读取值之前传递您已声明的头文件数组,如header = {column1},{column2}
//然后使用下面的行,排除标题
beanReader.read(类型,标题,处理器))
以上步骤帮助我们阅读没有标题保存的csv文件。
答案 1 :(得分:0)
最简单的解决方案是只读取文件两次(在第一次传递时检查预期的标题 - 您只需要读取第一行,并在第二次传递时使用/不使用标题读取)。
答案 2 :(得分:0)
我找到了解决方案。
通过使用Reader
打包提供的BufferedReader
,我可以标记开头,阅读第一行,然后reader.reset()
,如果它不是标题。