Scalaファイル I/O

Scalaは、JavaのI/O クラス(java.io.File)によってファイルの書き込み操作を行います。

実例

import java.io._

object Test {
   def main(args: Array[String]) {
      val writer = new PrintWriter(new File("test.txt" ))
  writer.write("初心者チュートリアル")

      writer.close()
   }
}

上記のコードを実行すると、現在のディレクトリにtest.txtファイルが生成されます。ファイルの内容は“初心者チュートリアル”です。

$ scalac Test.scala 
$ scala Test
$ cat test.txt 
初心者チュートリアル

画面からユーザーが入力した内容を読み取る

プログラムを処理するために、時々画面にユーザーが入力した指示を受け取る必要があります。 次には例を挙げます。

実例

import scala.io._
object Test {
   def main(args: Array[String]) {
      print("初心者チュートリアルの公式サイトを入力してください : " )
      val line = StdIn.readLine()

      println("ご入力ありがとうございます。入力した内容は: " + line)
   }
}

Scala2.11以降のバージョンにはConsole.readLineが禁止されました。その代わりに、scala.io.StdIn.readLine() メソッドを使用してください。

上記のコードを実行すると、かきの情報が画面に表示されます。

$ scalac Test.scala 
$ scala Test
初心者チュートリアルの公式サイトを入力してください : www.ceodata.com
ご入力ありがとうございます。入力した内容は: www.ceodata.com

ファイルから内容を読み取る

ファイルから内容を読み取ることは非常に簡単です。ScalaのSourceクラスとコンパニオンオブジェクトを使用してファイルを読み取ることができます。次の例では、 “test.txt”(前に作成されました)ファイルから内容を読み取る方法を示しています。

実例

import scala.io.Source

object Test {
   def main(args: Array[String]) {
println("ファイルの内容は:" )
      Source.fromFile("test.txt" ).foreach{ 
         print 
      }
   }
}

上記のコードを実行した出力結果は次となります。

$ scalac Test.scala 
$ scala Test
ファイルの内容は:
初心者チュートリアル
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です