Scala-使用foreach将文件写入文件

我正在尝试将一个列表写入一个文件,我正在尝试使用foreach调用,就像使用println一样.

这工作:

list.foreach(println)

但这不起作用:

val file = "whatever.txt"
val writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)))
list.foreach(writer.write)

我已经尝试了一些其他方法来打印到文件,并且所有这些方法都没有运气,
我做错了什么?

最佳答案 这是一个编译和运行的完整示例.您的代码缺少close()所以您在BufferedWriter中写的所有内容都保留在缓冲区中,并且从未到达磁盘.

import java.io._

val file = "whatever.txt"
val writer = new BufferedWriter(new FileWriter(file))
List("this\n","that\n","other\n").foreach(writer.write)
writer.close()
点赞