【发布时间】:2013-12-21 16:29:31
【问题描述】:
我有一段代码如下所示:
public void cinemaFromFile(String fileName) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
while ((line = reader.readLine()) != null) {
if (line.equals("Movies")) {
while ((line = reader.readLine()) != null
&& !line.equals("Theaters")) {
String currentline = line;
String[] parts = currentline.split(":");
String part1 = parts[0];
String part2 = parts[1];
movies.add(new Movie(part1, part2));
}
}
reader.close();
}
如您所见,我在 while 循环的终止子句中为 line 赋值。
我是 BufferedReaders 的新手,我正在寻找替代方法。 IE,我想将赋值语句(“line = reader.readLine()”)放在while循环终止子句之外的单独语句中。
我尝试将“line = reader.readLine()”移动到 while 循环的主体中,但这不起作用。我也试过把它放在while循环之前,这也不起作用。
我认为我从根本上误解了 BufferedReaders 的工作原理,它们只能遍历 while 循环中的行吗?
【问题讨论】:
-
你能举一个你的输入文件的例子和你想要达到的目标的描述吗?
标签: java while-loop variable-assignment bufferedreader