读取CSV Java时获取While循环中的最后一行数据
在循环中遍历整个文件时,我试图读取CSV文件中的最后一行数据。我能很好地阅读和解析,但我似乎不知道如何停在最后一行。我不想硬编码需要多少次迭代
代码:
File inputF = new File("T.csv");
InputStream getStream = new FileInputStream(inputF);
boolean flag = false;
try {
System.out.println("Checking Values of CSV...");
if (getStream.read() != -1) {
BufferedReader reader = new BufferedReader(new InputStreamReader(getStream));
String line;
String headerLine;
int counter = 0;
headerLine = reader.readLine();
//change condition to end at last row
while ((line = reader.readLine()) != null) {
// logic to read and parse
}
System.out.println(line);
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
输出:
null
预期输出(不准确,实际数据为csv输出):
CSV DATA
重述-
我想在while循环中设置一个条件,使其在最后一行停止,以便我可以管理它。我无法硬编码它,因为行的数量将根据文件读取而改变
任何帮助都将受到感谢
# 1 楼答案
我想这样的事情可以胜任。您只需要存储您成功读取的最后一条通道(我正在使用
line
),当您无法读取下一条通道(在nextLine
中读取)时,您就完成了# 2 楼答案
我知道你想在进入环路时停在最后一行。这可以按如下所示进行。如果您只想得到最后一行,下面的代码也可以