scala 一般用于网络上消息的处理,比如读写 mongodb, 处理 http request. 但偶尔写个 script, 还是要读写个文件的.

scala 包装了一个 Source 类,可以读取各种来源的数据, url, file 都可以. 但似乎并没有对写数据做什么处理.

scala 读取文件很容易

def fileReading(path:String) {
    import java.io.File
    import scala.io.Source
    val s = Source.fromFile(new File(path)).getLines()
    s.foreach(println(_))
}

而对于写文件,我们还是使用 java 的类. 一种是 PrintWriter

def fileWriting(path: String) {
    import java.io.{File, PrintWriter}
    val pw = new PrintWriter(new File(path))
    (0 to 10).foreach { x =>
        pw.append(s"data: $x").write("\n")
    }
    pw.flush
    pw.close
}

另一种是 BufferedWriter

def fileWriting(path: String) {
    import java.io.{File, BufferedWriter, FileWriter}
    val pw = new BufferedWriter(new FileWriter(new File(path)))
    (0 to 10).foreach { x =>
        pw.append(s"data: $x").write("\n")
    }
    pw.flush
    pw.close
}

两者效果应该是等价的,不过 print 个 string, 我觉得拣短的写比较爽.

来自的你,很高兴你能看到这儿。若本文对你有所用处,或者内容有什么不足之处,敬请毫不犹豫给个回复。谢谢!