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
請輸入菜鳥教程官網 : rb.wikimirror.xyz
謝謝,你輸入的是: rb.wikimirror.xyz

從文件上讀取內容

從文件讀取內容非常簡單。我們可以使用 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
文件內容為:
菜鳥教程