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("php中文网")
      writer.close()
   }
}

上記のコードを実行すると、現在のディレクトリに test.txt ファイルが生成され、ファイルの内容がは "php Chinese website":

$ scalac Test.scala 
$ scala Test
$ cat test.txt 
php中文网

画面からユーザー入力を読み取ります

プログラムを処理するために、画面上でユーザーが入力した指示を受け取る必要がある場合があります。例は次のとおりです。

object Test {
   def main(args: Array[String]) {
      print("请输入php中文网官网 : " )
      val line = Console.readLine
      
      println("谢谢,你输入的是: " + line)
   }
}

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

$ scalac Test.scala 
$ scala Test
请输入php中文网官网 : www.php.cn
谢谢,你输入的是: www.php.cn

ファイルからコンテンツを読み取る

ファイルからコンテンツを読み取るのは非常に簡単です。 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
文件内容为:
php中文网