2011年10月27日木曜日

Scalaのファイル入出力のサンプル

Scalaでファイルを入出力するサンプルを書いてみました。
ファイルの入力(読み込み)は専用のクラスがあるのですが、ファイルの出力に関してはなんだか適切な物が無いようです。
なので、ファイルの出力に関してはJavaのクラスを使っています。

ファイルを新規作成して文字列を出力(すでに存在する場合は追記)
その後、作成したファイルを読み込んでいます。
/**
 * Scalaでファイルの入出力
 * Javaのクラスを使ってファイルを作成し、Scalaのクラスを使ってファイルを読み込む
 */
object FileIO {
    def main( args:Array[String] ) {

        // JavaのFileOutputStreamクラスとOutputStreamWriterを別名でimport
        // それぞれインスタンス生成時の1回のみの使用なので別名にする意味は特にないです。
        import java.io.{ FileOutputStream=>FileStream, OutputStreamWriter=>StreamWriter };

        val fileName = "test.txt"
        val encode = "UTF-8"
        val append = true
        
        // 書き込み処理
        val fileOutPutStream = new FileStream(fileName, append)
        val writer = new StreamWriter( fileOutPutStream, encode )

        writer.write("あいうえお\r\n")
        writer.write("かきくけこ\r\n")
        writer.write("さしすせそ\r\n")
        writer.close


        // 読み込み処理(コンソールに出力)
        // 1行で書くとこんな感じ
        // scala.io.Source.fromFile(fileName, encode).getLines.foreach{ println _ }
        val source = scala.io.Source.fromFile(fileName, encode)
        val lines = source.getLines
        lines.foreach{ println _ }


    }
}

1 件のコメント:

匿名 さんのコメント...

Pokies Pokies - Asia Slot Machines - Online Pokies 제왕카지노 제왕카지노 온라인카지노 온라인카지노 메리트 카지노 주소 메리트 카지노 주소 메리트카지노 메리트카지노 우리카지노 쿠폰 우리카지노 쿠폰 happyluke happyluke fun88 soikeotot fun88 soikeotot 212 m카지노 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 회원 가입 �