English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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
基本教程網のウェブサイトを入力してください: ja.oldtoolbag.com
ありがとう、あなたが入力したのは: ja.oldtoolbag.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
ファイルの内容は:
基本教程網