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()
}

ただし、ファイルには line2 しか表示されません。これの理由は何ですか?ありがとう!

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 に答える