使用Open CSV阅读器跳过第一行

这是我目前使用的线

File booleanTopicFile; // booleanTopicFile is csv file uploaded from form CSVReader csvReader = new CSVReader(new InputStreamReader(new FileInputStream(booleanTopicFile), "UTF-8")); 

想要跳过包含标题的csv的第一行。 我不想使用任何分隔符,除了默认构造函数中已有的默认一个逗号(,)。 在参数化构造函数中,有一个跳过否的选项。 行但是如何处理构造函数的第2和第3个参数。

 CSVReader csvReader = new CSVReader(new InputStreamReader(Reader reader, char c, char c1, int index); 

– 谢谢

CSVReader类的这个构造函数将在读取文件时跳过csv的第1行。

 CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 1); 

我发现这个问题和回答很有帮助,我想扩展一下Christophe Roussy的评论 。 在最新的opencsv(撰写本文时为2.3)实际的代码行是:

 new CSVReader( new StringReader(csvText), CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_QUOTE_CHARACTER, 1); 

请注意,它使用CSVParser而不是CSVReader。

至少从版本3.8开始,您可以使用CSVReaderBuilder并将其设置为跳过第一行。

例:

 CSVReader reader = new CSVReaderBuilder(inputStreamReader) .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS) // Skip the header .withSkipLines(1) .build();