我有一个具有以下架构的csv文件:
HEADER1
entry1
entry2
HEADER2
entry3
entry4
...
标题用于划分不同对象的条目。我创建了一个BufferedReader和两个while循环,我想遍历第一个while循环,直到下一行的值等于HEADER2的值为止(而不是我想退出此迭代并开始下一个迭代并创建不同的对象)。我的问题是写这种情况:
while ( !"MEETING_ROOMS".equals(line = reader.readLine())) || ((line = reader.readLine()) != null) {
这会向我返回“表达式的非法开始”错误。
答案 0 :(得分:2)
while
循环的逻辑已关闭。试试这个版本:
while ((line = reader.readLine()) != null && !"MEETING_ROOMS".equals(line)) {
// process line
}
while
循环中的条件首先尝试读取一行。如果不是null
,那么它将应用额外的检查以确保该行不是MEETING_ROOMS
。
您还遇到了一个不平衡的括号问题,但是在我的版本中该问题消失了。