// use loan pattern
// close resource after used
def using[A <: { def close(): Unit}, B]
(resource: A)(f: A => B): B = {
try {
f(resource)
} finally {
resource.close()
}
}
// use Option as return
def readTextFile(filename: String): Option[List[String]] = {
try {
val lines = using(Source.fromFile(filename)) {
source =>
source.getLines.toList
}
Some(lines)
} catch {
case e: Exception => None
}
}
// print lines
val lines = readTextFile(filename).get
lines.foreach { line =>
println(line)
}
Scala read file
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。