尝试编写多行文件然后下载:
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()
}
但是文件只显示line2。这是什么原因?谢谢!
答案 0 :(得分:2)
根据the docs:
写(字符串文本)
将文本写入文件。
因此,每次使用write()
时,您都会替换文件中的内容。您可以查看有关Input and Output的Groovy文档。例如:
file.withWriter { out ->
out.writeLine("line1") //no need to add the \n, the out will handle.
out.writeLine("line2")
}
答案 1 :(得分:2)
@ Sergio的方法或使用append
代替“line2”:)
......
file.write("line1\n")
file.append("line2\n")
......
append将文字附加到文件末尾。我喜欢withWriter(@ Sergio的方法)。