我正在尝试从我的java代码中读取一个csv文件.使用以下代码:
public void readFile() throws IOException {
BufferedReader br = new BufferedReader(new FileReader(fileName));
lines = new ArrayList<String>();
String newLine;
while ((newLine = br.readLine()) != null) {
newLine = br.readLine();
System.out.println(newLine);
lines.add(newLine);
}
br.close();
}
Run Code Online (Sandbox Code Playgroud)
我从上面的代码得到的输出是每个替代行[第2,第4,第6行]被方法读取并返回readLine()
.我不确定为什么会出现这种行为.如果我在阅读csv文件时遗漏了某些内容,请纠正我.
你第一次读取这一行而没有在while
循环中处理它,那么你再次阅读它,但这次你正在处理它.readLine()
方法读取一行并将读取器指针移动到文件中的下一行.因此,每次使用此方法时,指针将增加一个指向下一行的指针.
这个:
while ((newLine = br.readLine()) != null) {
newLine = br.readLine();
System.out.println(newLine);
lines.add(newLine);
}
Run Code Online (Sandbox Code Playgroud)
应改为:
while ((newLine = br.readLine()) != null) {
System.out.println(newLine);
lines.add(newLine);
}
Run Code Online (Sandbox Code Playgroud)
因此,读取一条线并处理它,而不读取另一条线然后处理.
归档时间: |
|
查看次数: |
15933 次 |
最近记录: |