【发布时间】:2016-06-15 06:22:37
【问题描述】:
我正在阅读来自 java BufferedReader 的文本,如下所示:
Stream.continually(reader.readLine).takeWhile {
case null => reader.close; false
case _ => true
}
这可行,但对我来说似乎有点笨拙。我希望在Stream 上有类似.whenDone 的东西,这样我就可以告诉它在整个内容消耗完后关闭阅读器,然后只需执行.takeWhile(_ != null)。
有什么我不知道的方法吗?或者,也许是从 java Reader 获取行流的更好方法(例如,如果它是 InputStream,我可以只做 Source.fromInputStream,但似乎没有 @987654329 的等价物@ ...请注意,这只能部分解决问题,因为人们可能想对其他“可关闭”对象做同样的事情——例如ResultSet)?
【问题讨论】: