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("开源教程")
writer.close()
}
}
object Test {
def main(args: Array[String]) {
val writer = new PrintWriter(new File("test.txt" ))
writer.write("开源教程")
writer.close()
}
}
执行以上代码,会在你的当前目录下生产一个 test.txt 文件,文件内容为"开源教程":
$ 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)
}
}
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 请输入开源教程官网 : www.ossoft.cn 谢谢,你输入的是: www.ossoft.cn
从文件上读取内容
从文件读取内容非常简单。我们可以使用 Scala 的 Source 类及伴生对象来读取文件。以下实例演示了从 "test.txt"(之前已创建过) 文件中读取内容:
实例
import scala.io.Source
object Test {
def main(args: Array[String]) {
println("文件内容为:" )
Source.fromFile("test.txt" ).foreach{
print
}
}
}
object Test {
def main(args: Array[String]) {
println("文件内容为:" )
Source.fromFile("test.txt" ).foreach{
}
}
}
执行以上代码,输出结果为:
$ scalac Test.scala $ scala Test 文件内容为: 开源教程