我有一个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
。
你也有一个括号不平衡的问题,但这在我的版本中消失了。