ファイル入出力
移転しました。
ファイル出力の方法の一般的なのはなんだろうか?
ファイル入力
参考URL
そのまま。ただし、ファイルクローズ無し。
// file_read_scala.scala import scala.io.Source object FileReadScala { def main( args: Array[String] ) { // 「ソース」っていうのを作る val source = Source.fromFile( "test.txt" ) // ソースから出力 for( line <- source.getLines ) { println( line.stripLineEnd ) } } }
ファイル出力
これ一般的な方法を知りたい。以下のやり方が一般的?
参考URL
// ファイル出力用メソッド import java.io._ import scala.util.DynamicVariable object DisposableFile extends OutputStream { val out = new DynamicVariable[FileOutputStream](null) def openOut(path: String)(block: => Unit) { val out_ = new FileOutputStream(path) try { out.withValue(out_) { block } } finally { out_.close() // Console.println("closed") } } def write(b: Int) = out.value.write(b) override def write(b: Array[Byte]) = out.value.write(b) override def write(b: Array[Byte], off: Int, len: Int) = out.value.write(b, off, len) override def flush = out.value.flush } scala> import DisposableFile._ import DisposableFile._ scala> openOut("d2.txt") { | write("hello".getBytes) | }