简体   繁体   中英

Scala- writing list to file using foreach

I'm trying to write a list I have into a file and I'm trying to it with the foreach call, as can be done with println. this works:

list.foreach(println)

but this won't work:

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

I've tried some other ways to print to a file and in all of them had no luck, what an I doing wrong?

Here's a complete example that compiles and runs. Your code was missing close() so everything your wrote in BufferedWriter remained in the buffer and never reached the disk.

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()

writer needs to flush to the disk, and then be closed.

writer.flush
writer.close

Or you can try another way: using PrintWriter

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM