写入文本文件时删除最后一个字符

Remove last character while writing to a text file

我正在将数组的内容以逗号分隔的形式写入文本文件。这是我的 Scala 代码:

import java.io.FileWriter
import scala.util.Random

val N = 1000000
val writer = new FileWriter("file.txt")
val res = Random.shuffle(1 to N)
for (i <- 0 until res.length) {
  writer.write(res(i) + ",")
}
writer.close()

这段代码工作正常,但还在末尾添加了一个逗号,如:

12,11,9,....,23,56,

我想要输出,这样逗号就不会出现在最后的地方

12,11,9,....,23,56

我怎样才能做到这一点?

单独编写第一个元素,之后的每个元素都以逗号开头。

writer.write(res.head.toString)
res.tail.foreach(n => writer.write("," + n))

将 Scala 集合 xs 转换为逗号分隔的字符串 xs.mkString(",")。在上述情况下考虑

writer.write(Random.shuffle(1 to N).mkString(","))

这将确保最后一个逗号字符位于最后两个值之间,并且生成的字符串最终使用最后一个值而不是额外的逗号字符。