【发布时间】:2015-01-10 14:22:40
【问题描述】:
我正在读取一个 CSV 文件并使用 OpenCSV 读取它并使用 CircularFifoBuffer 将数据拆分为列并将每列的值分配给一个字符串。这适用于读取 csv 文件中的特定行,但是我希望从头开始逐行读取 csv 文件并向下工作到最后一行。
然后每次读取一行时,都会比较字符串值,并在满足给定条件的情况下读取下一行。
我可以处理上述所有条形逐行处理 CSV 数据。
任何指针将不胜感激。
【问题讨论】:
我正在读取一个 CSV 文件并使用 OpenCSV 读取它并使用 CircularFifoBuffer 将数据拆分为列并将每列的值分配给一个字符串。这适用于读取 csv 文件中的特定行,但是我希望从头开始逐行读取 csv 文件并向下工作到最后一行。
然后每次读取一行时,都会比较字符串值,并在满足给定条件的情况下读取下一行。
我可以处理上述所有条形逐行处理 CSV 数据。
任何指针将不胜感激。
【问题讨论】:
直接来自the FAQ:
如果你想使用迭代器样式模式,你可以这样做:
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...");
}
或者,如果您可能只想将全部内容放入列表中,只需调用 readAll()...
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
List myEntries = reader.readAll();
这将为您提供可以迭代的 String[] 列表。如果一切都失败了,请查看 Javadoc。
【讨论】: