使用OpenCSV和FifoBuffer逐行读取CSV

时间:2015-01-10 14:22:40

标签: java opencsv

我正在读取CSV文件并使用OpenCSV读取它并使用CircularFifoBuffer将数据拆分为列并将每列的值分配给字符串。这适用于读取csv文件中的特定行,但是我希望从开头开始逐行读取csv文件并向下工作到最后一行。

然后每次读取一行时,将比较字符串值,并在满足给定条件的情况下读取下一行。

我可以逐行处理所有上述条形码处理CSV数据。

任何指针都将非常感激。

1 个答案:

答案 0 :(得分:1)

直接来自the FAQ

  

如果要使用Iterator样式模式,可以执行以下操作:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
    // nextLine[] is an array of values from the line
    System.out.println(nextLine[0] + nextLine[1] + "etc...");
}
  

或者,如果您可能只想将整个数据放入List中,只需调用readAll()......

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
List myEntries = reader.readAll();
  

将为您提供可以迭代的String []列表。如果所有其他方法都失败了,请查看Javadoc。