Scala 文件 I/O

Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File):

  1. import java.io._
  2. object Test {
  3. def main(args: Array[String]) {
  4. val writer = new PrintWriter(new File("test.txt" ))
  5. writer.write("Scala教程")
  6. writer.close()
  7. }
  8. }

执行以上代码,会在你的当前目录下生产一个 test.txt 文件,文件内容为"菜鸟教程":

  1. $ scalac Test.scala
  2. $ scala Test
  3. $ cat test.txt
  4. Scala教程

从屏幕上读取用户输入

有时候我们需要接收用户在屏幕输入的指令来处理程序。实例如下:

  1. import scala.io._
  2. object Test {
  3. def main(args: Array[String]) {
  4. print("请输入Scala教程网址 : " )
  5. val line = StdIn.readLine()
  6. println("谢谢,你输入的是: " + line)
  7. }
  8. }
Scala2.11 后的版本 Console.readLine 已废弃,使用 scala.io.StdIn.readLine() 方法代替。

执行以上代码,屏幕上会显示如下信息:

  1. $ scalac Test.scala
  2. $ scala Test
  3. 请输入Scala教程网址 : www.jishuchi.com/books/scala-lang
  4. 谢谢,你输入的是: www.jishuchi.com/books/scala-lang

从文件上读取内容

从文件读取内容非常简单。我们可以使用 Scala 的 Source 类及伴生对象来读取文件。以下实例演示了从 "test.txt"(之前已创建过) 文件中读取内容:

  1. import scala.io.Source
  2. object Test {
  3. def main(args: Array[String]) {
  4. println("文件内容为:" )
  5. Source.fromFile("test.txt" ).foreach{
  6. print
  7. }
  8. }
  9. }

执行以上代码,输出结果为:

  1. $ scalac Test.scala
  2. $ scala Test
  3. 文件内容为:
  4. Scala教程