在Lua中编写多行文本文件

时间:2014-08-09 12:18:20

标签: file lua line-breaks multiline

我想知道让我的脚本将某些东西写入文件(比如说text.txt)的最佳方法,这种方式总是会在最后添加换行符。当我使用

附加文本时
file = io.open(test.txt, "a")
file:write("hello")

两次,文件看起来像:

hellohello

但我希望它看起来像:

hello
hello

2 个答案:

答案 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文档。