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

boa*_*oaz 5 scala

我正在尝试将我拥有的列表写入文件,并且我正在尝试使用 foreach 调用来实现,这可以使用 println 来完成。这有效:

list.foreach(println)
Run Code Online (Sandbox Code Playgroud)

但这行不通:

val file = "whatever.txt"
val writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)))
list.foreach(writer.write)
Run Code Online (Sandbox Code Playgroud)

我尝试了其他一些方法来打印到文件,但都没有运气,我做错了什么?

jwv*_*wvh 3

这是编译和运行的完整示例。您的代码丢失了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()
Run Code Online (Sandbox Code Playgroud)