0

尝试编写多行文件然后下载:

def download() {
    file.write("line1\n")
    file.write("line2\n")
    response.setHeader "Content-disposition", "attachment; filename=testalex.txt"
    response.contentType = 'text-plain'
    response.outputStream << file.text
    response.outputStream.flush()
}

但是该文件仅显示第 2 行。这是什么原因?谢谢!

4

2 回答 2

2

根据文档

write(String text)
将文本写入文件。

因此,您每次使用write(). 您可以查看有关Input 和 Output的 Groovy 文档。例子:

file.withWriter { out ->
  out.writeLine("line1") //no need to add the \n, the out will handle.
  out.writeLine("line2")
}
于 2013-08-21T19:52:34.877 回答
2

@Sergio 的方法或append用于“line2”:)

......
file.write("line1\n")
file.append("line2\n")
......

append将文本附加到文件的末尾。不过,我喜欢 withWriter(@Sergio 的方法)。

于 2013-08-21T20:04:07.340 回答