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

Scala 文件 I/O

Scala esegue operazioni di scrittura di file utilizzando direttamente le classi I/O di java (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()
   }
}

Esegui il codice sopra e verrà creato un file test.txt nella directory corrente, il contenuto del file è ":基础教程网"

$ 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
请输入基础教程网官网 : it.oldtoolbag.com
谢谢,你输入的是: it.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
文件内容为:
基础教程网