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 中。 以下命令用于编译和执行该程序。

命令

\>scalac Demo.scala
\>scala Demo

它将在放置程序的当前目录中创建一个名为 Demo.txt 的文件。 以下是该文件的内容。

输出

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 中。 以下命令用于编译和执行该程序。

命令

\>scalac Demo.scala
\>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 中。 以下命令用于编译和执行该程序。

命令

\>scalac Demo.scala
\>scala Demo

输出

Following is the content read:
Hello Scala