写入文本文件时删除最后一个字符
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(","))
这将确保最后一个逗号字符位于最后两个值之间,并且生成的字符串最终使用最后一个值而不是额外的逗号字符。
我正在将数组的内容以逗号分隔的形式写入文本文件。这是我的 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(","))
这将确保最后一个逗号字符位于最后两个值之间,并且生成的字符串最终使用最后一个值而不是额外的逗号字符。