一起學Scala 檔案 I/O

安全劍客發表於2020-10-01
Scala 是一門多正規化(multi-paradigm)的程式語言,設計初衷是要整合物件導向程式設計和函數語言程式設計的各種特性。
Scala 執行在Java虛擬機器上,併相容現有的Java程式。
Scala 原始碼被編譯成Java位元組碼,所以它可以執行於JVM之上,並可以呼叫現有的Java類庫。

一起學Scala 檔案 I/O一起學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("Linux就該這麼學")
      writer.close()
   }
}

執行以上程式碼,會在你的當前目錄下生產一個 test.txt 檔案,檔案內容為"Linux就該這麼學":

$ scalac Test.scala 
$ scala Test
$ cat test.txt 
Linux就該這麼學
從螢幕上讀取使用者輸入

有時候我們需要接收使用者在螢幕輸入的指令來處理程式。例項如下:

import scala.io._
object Test {
   def main(args: Array[String]) {
      print("請輸入Linux就該這麼學官網 : " )
      val line = StdIn.readLine()
      println("謝謝,你輸入的是: " + line)
   }
}

Scala2.11 後的版本 Console.readLine 已廢棄,使用 scala.io.StdIn.readLine() 方法代替。

執行以上程式碼,螢幕上會顯示如下資訊:

$ scalac Test.scala 
$ scala Test
請輸入Linux就該這麼學官網 : www.linuxprobe.com
謝謝,你輸入的是: www.linuxprobe.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
檔案內容為:
Linux就該這麼學

原文地址:https://www.linuxprobe.com/learn-scala-i-o.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2725395/,如需轉載,請註明出處,否則將追究法律責任。

相關文章