Scala-file-io

提供:Dev Guides
移動先:案内検索

Scala-ファイルI/O

Scalaは任意のJavaオブジェクトを使用するために開かれており、 java.io.File はScalaプログラミングでファイルの読み取りおよび書き込みに使用できるオブジェクトの1つです。

以下は、ファイルに書き込むためのプログラム例です。

import java.io._

object Demo {
   def main(args: Array[String]) {
      val writer = new PrintWriter(new File("test.txt" ))

      writer.write("Hello Scala")
      writer.close()
   }
}

上記のプログラムを Demo.scala に保存します。 このプログラムをコンパイルして実行するには、次のコマンドを使用します。

コマンド

\>scalac Demo.scala
\>scala Demo

プログラムが置かれている現在のディレクトリに Demo.txt という名前のファイルを作成します。 以下はそのファイルの内容です。

出力

Hello Scala

コマンドラインから行を読む

画面からユーザー入力を読み取って、さらに処理を進める必要がある場合があります。 次のサンプルプログラムは、コマンドラインから入力を読み取る方法を示しています。

object Demo {
   def main(args: Array[String]) {
      print("Please enter your input : " )
      val line = Console.readLine

      println("Thanks, you just typed: " + line)
   }
}

上記のプログラムを Demo.scala に保存します。 このプログラムをコンパイルして実行するには、次のコマンドを使用します。

コマンド

\>scalac Demo.scala
\>scala Demo

出力

Please enter your input : Scala is great
Thanks, you just typed: Scala is great

ファイルコンテンツの読み取り

ファイルからの読み取りは本当に簡単です。 Scalaの Source クラスとそのコンパニオンオブジェクトを使用して、ファイルを読み取ることができます。 以下は、以前に作成した "Demo.txt" ファイルから読み取る方法を示す例です。

import scala.io.Source

object Demo {
   def main(args: Array[String]) {
      println("Following is the content read:" )

      Source.fromFile("Demo.txt" ).foreach {
         print
      }
   }
}

上記のプログラムを Demo.scala に保存します。 このプログラムをコンパイルして実行するには、次のコマンドを使用します。

コマンド

\>scalac Demo.scala
\>scala Demo

出力

Following is the content read:
Hello Scala