Spark中的out.println()对我不起作用。一切都在同一条线上



当我将完全相同的代码复制到 REPL 中时,它可以工作,但在 scala 的 Spark shell 中,它会写入文本文件,但不是在单独的行上。

val out = new PrintWriter("TestAverages.txt")
for(i <- 0 to 10) out.println(i)
out.close()

它给了我12345678910火花,但是代码在 scala repl 中有效。

我知道

是什么原因造成的,现在你提到你使用了Windows。PrintWriter.println 的行为:行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符

所以与其写:

for(i <- 0 to 10) out.println(i)

同样去:

for(i <- 0 to 10) out.print(i + "rn")

回想一下,我添加了"\r",这意味着 CR+LF,因此将打印出的换行符不依赖于平台。

最新更新