我试图从分号分隔的文件中获取第二行和第三列的值。我无法坐下来从第二行和第三列获取值。
我已经找到了实现这一目标的方法,但它没有结果。如果有人能通过一个例子指出我正确的方向,我将不胜感激。
这是我到目前为止的代码:
private static void readmyfile() throws IOException {
String csvFilename = "C:/test.csv";
CSVReader reader = new CSVReader(new FileReader(csvFilename), ';', '\'', 1);
String[] nextLine;
int rowNumber=-1;
nextLine=reader.readNext();
while (nextLine!=null){
rowNumber++;
String speed = nextLine[rowNumber];
System.out.println(speed);
nextLine=reader.readNext();
}
}
我的文件格式如下:
Number; ID; NUM; Counter; Time
1;CCF;9999;1;18:07:05
1;CC8;8888;1;18:07:15
1;CC1;8888;1;18:07:15
1;DC7;1111;1;18:07:15
Date:;01/01/2000; Read:;5; on:;01.05; off:;02.04
答案 0 :(得分:1)
虽然您正在阅读2 nd 最后一行,但可能可能会改为3 rd 或4 th 最后一行。在这里做一个自定义解决方案肯定会很脆弱。因此,使用诸如Apache CircularFifoBuffer之类的循环缓冲区将允许添加行而无需保持位置计数:
CSVReader reader = new CSVReader(new FileReader(csvFilename), ';', '\'', 1);
int rowCount = 2; // save last 2 lines
Buffer<String[]> savedBuffer = new CircularFifoBuffer<String[]>(rowCount);
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
savedBuffer.add(nextLine);
}
int columnIndex = 2; // zero based
System.out.println(savedBuffer.get()[columnIndex]);