我想知道让我的脚本将某些东西写入文件(比如说text.txt
)的最佳方法,这种方式总是会在最后添加换行符。当我使用
file = io.open(test.txt, "a")
file:write("hello")
两次,文件看起来像:
hellohello
但我希望它看起来像:
hello
hello
答案 0 :(得分:9)
与print
不同,新线字符在调用io.write
时不会自动添加,您可以自行添加:
file:write("hello", "\n")
答案 1 :(得分:3)
实现此目标的最简单方法是每次调用write
方法时都包含Newline character sequence,如下所示:file:write("hello\n")
左右:file:write("hello", "\n")
。这样,脚本如
file = io.open(test.txt, "a")
file:write("hello", "\n")
file:write("hello", "\n")
会产生所需的输出:
hello
hello
然而,还有许多其他解决方案(有些比其他解决方案更优雅)。例如,当用Java输出文本时,有一些特殊的方法,例如BufferedWriter#newLine()
,它们将以更清洁的方式执行相同的操作。因此,如果您对实现这一目标的方式感兴趣,我建议您阅读有关类似方法/解决方案的Lua文档。