Scalaでちょっとスマートにファイルを読み込んでみる(その2)
前回、Scalaでちょっとスマートにファイルを読み込んでみるで、defで定義した物を、case classに変えてみました。
[scala]case class StringFileInput(file: File)(f: BufferedReader => Unit) {
val in = new FileInputStream(file)
try {
f(new BufferedReader(new InputStreamReader(in)))
} finally {
println("ファイルクローズ")
in.close
}
}
// 使用例
StringFileInput(currentFile) { reader =>
while(reader.ready) {
println(reader.readLine)
}
}[/scala]