「大數據」(九十七)Scala之文件操作

【導讀:數據是二十一世紀的石油,蘊含巨大價值,這是·情報通·大數據技術系列第[97]篇文章,歡迎閱讀和收藏】

1 基本概念

Scala 進行文件寫操作,直接用的都是 java 中的 I/O 類 ( java.io.File) 。從文件讀取內容非常簡單,可以使用 Scala 的 Source 類及伴生對象來讀取文件。有時候需要接收用戶在屏幕輸入的指令來處理程序。( Scala 2.11 後的版本 Console.readLine 函數廢棄,使用 scala.io.StdIn.readLine() 方法代替)

2 術語解釋

IO 常用類:基於字符流 ( InputStream/OutputStream ) 和 字節流 ( Reader/Writer ) 作為基類,根據不同的數據載體或功能派生出來的。

「大數據」(九十七)Scala之文件操作

3 詳細說明

Scala 文件寫操作

使用 java 中的 I/O 類,進行文件寫操作,實例如下:

<code>import java.io._
object Test {
def main(args: Array[String]) {
val writer = new PrintWriter(new File("test.txt" ))
writer.write("Hello World!")
writer.close()
}
}/<code>

以上實例的類定義了 writer 變量,用來接收 java.io.PrintWriter 的類,實現把數據寫入到文本文件 test.txt 。

將“ Hello World! ”字樣寫入到 test.txt 文本文件中。

執行以上代碼,輸出結果為:

$ scalac Test.scala
$ scala Test
$ cat test.txtHello World!

Scala 從屏幕上讀取用戶輸入

通常需要接收用戶在屏幕上輸入的指令來處理程序,實例如下:

<code>import scala.io._
object Test {
def main(args: Array[String]) {

print(" 請輸入 : " )
val line = StdIn.readLine()
println(" 你輸入的是 : " + line)
}
}/<code>

使用 scala.io.StdIn.readLine() 方法接收屏幕上用戶輸入的指令信息,存在放在變量 var 中,最終將輸入信息打印出來。

執行以上代碼,輸出結果為:

$ scalac Test.scala
$ scala Test
請輸入 : Hello World!
你輸入的是 : Hello World!

Scala 從文件上讀取內容

在 Scala 中,使用 Source 類及伴生對象來實現讀取文件,實例如下:

<code>import scala.io.Source
object Test {
def main(args: Array[String]) {
println(" 文件內容為 :" )
Source.fromFile("test.txt" ).foreach{
\t\tprint
\t\t}
}
}/<code>

以上實例從 “test.txt” 文件中讀取內容,該內容為前面例子創建,輸出結果為:

$ scalac Test.scala
$ scala Test
文件內容為 :


Hello World!


分享到:


相關文章: