正在读取文件,直到第行具有特定值

  • 本文关键字:第行 文件 读取 java
  • 更新时间 :
  • 英文 :


我有一个csv文件,其模式如下:

HEADER1
entry1
entry2
HEADER2
entry3
entry4
...

标题用于划分不同对象的条目。我创建了一个BufferedReader和两个while循环,我想迭代第一个while环路,直到下一行的值等于HEADER2的值(我想退出这个迭代,开始下一个迭代,创建不同的对象(。我的问题是写这个条件:

while ( !"MEETING_ROOMS".equals(line = reader.readLine())) || ((line = reader.readLine()) != null) {

这会返回一个"表达式的非法开头"错误。

while循环的逻辑关闭。试试这个版本:

while ((line = reader.readLine()) != null && !"MEETING_ROOMS".equals(line)) {
// process line
}

while循环中的条件首先尝试读取一行。如果它不是null,则它应用额外的检查以确保该行不是MEETING_ROOMS

你也有一个括号不平衡的问题,但这在我的版本中消失了。

最新更新