如何将变量写入scala中的文件,然后将其加载回scala?

时间:2013-05-01 22:42:11

标签: scala import io java.util.scanner

我在scala中有一堆变量:

triangleCount = 2
lives = 5
triangleScore = 1
curPlayer.getX
curPlayer.getY

当我在比赛中按“s”时:

case "s" =>

我希望将变量写入外部文件。

然后当我在比赛中按“l”时:

case "l" =>

我希望将变量加载回我的程序并替换默认变量。

我该怎么做呢?我知道它与scala.io.Source或java Scanner有关,但我不知道该怎么做。

由于

1 个答案:

答案 0 :(得分:1)

case "s" => 
  val pw = new java.io.PrintWriter("myVars")
  pw.println(List(triangleCount, lives, triangleScore, curPlayer.getX, curPlayer.getY).mkString("\t"))
  pw.close

case "l" =>
  val myVarsFromFile = io.Source.fromFile("myVars").getLines.toList
  if (!myVarsFromFile.isEmpty) {
    val toks = myVarsFromFile.head.split("\t")
    var (triangleCount,lives, triangleScore) = (toks(0).toInt, toks(1).toInt, toks(2).toInt)
    curPlayer.setX(toks(3).toDouble)
    curPlayer.setY(toks(4).toDouble)
  }