java - 如何使用 opencsv 验证 csv header

标签 java opencsv

我正在使用 opencsv 来解析已使用网络上传的 csv 文件数据,并在 bean 中填充读取数据(使用 HeaderColumnNameTranslateMappingStrategy),这工作正常。

但是在开始处理数据之前努力寻找验证(作为第一次检查)文件是否包含所有 header 的最佳方法。

Opencsv 仍然处理文件并在文件不包含已作为 columnsMapping 映射传递的所有 header 时在 bean 中填充空值。

最佳答案

因此,给定一个 CSV 文件,您希望在处理之前确保标题包含一组必需的元素。

我会创建一个带有 readHeader 方法的实用程序类,该方法采用文件名并使用 CSVReader 使用 readNext() 作为字符串数组读取 header (而不是跳过它)并返回它。

然后您可以添加第二个方法,该方法采用该数组和一个数组或必填字段列表,然后使用类似 Apache Commons ArrayUtils 的方法确保所需数组中的每个元素都在 header 数组中,如果是,则返回 true,否则返回 false。

然后,如果您愿意,可以创建第三种方法,将两者结合起来以隐藏复杂性。

希望对您有所帮助。

关于java - 如何使用 opencsv 验证 csv header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594121/

相关文章:

java - 数据库或 CSV 到 java 对象

java - Spring MVC 并显示进程中的验证

java - 如何在 Java 中解码从 Azure 获取的 SAML token ?

java - Android 上的 WiFi Direct 无法正常工作

java - CSVwriter writerall 用java更改结果集的日期格式

java - 为什么 CSVWriter 和 CSVReader 使用不同的默认转义字符?

java - 在java中获取图像的字节格式

资源包中的 java.util.MissingResourceException

java - 使用 OpenCsv 解析 Instant

java - opencsv 从未知行但已知单词读取?