使用supercsv进行CSV标头验证

时间:2013-01-21 01:31:20

标签: java csv supercsv

如何验证CSV文件的数据是否包含标题?我正在使用supercsv和Java。我的csv文件包含;

ACCOUNT,NAME,PHONE(标题)< ---需要验证,所有标题必须存在 检查,约翰,1122222222(数据)

Saving,Carl,1234567891(数据)

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

如果你事先不知道标题值是什么,就无法知道第一行是否是标题(它看起来就像是另一个数据行)。

如果你知道标题值应该是什么,那么你可以简单地确保所有预期的列都在那里(只要它们在那里,它们无关紧要)。

例如

List<String> expectedHeaders = Arrays.asList("ACCOUNT","NAME","PHONE");

String[] header = csvReader.getHeader(true);

if (!Arrays.asList(header).containsAll(expectedHeaders)){
    // not all headers present - handle appropriately 
    // (e.g. throw exception)
}