Scala檔案I/O


Scala可以使用任何Java物件,而java.io.File是Scala程式設計中可用於讀取和寫入檔案的物件之一。

以下是寫入檔案的範例程式。

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中,使用以下命令編譯和執行此程式。

D:\>scalac Demo.scala
D:\>scala Demo
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中,使用以下命令編譯和執行此程式。

D:\>scalac Demo.scala
D:\>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中,使用以下命令編譯和執行此程式。

D:\>scalac Demo.scala
D:\>scala Demo
Following is the content read:
Hello Scala