使用lua读取/写入属性文件

时间:2013-01-13 16:33:52

标签: io lua

在java中,我习惯使用内置类来读取和编写属性文件,但是lua不存在类似的东西。

最简单的方法是将名称和值保存到文件中,然后使用名称返回值?

2 个答案:

答案 0 :(得分:3)

最简单的方式是这样的:

local name, value = "abc", 123
local f = io.open("outfile", "w")
f:write("return {" .. name .. " = " .. value .. "}")
f:close()

---

local t = dofile("outfile")
print( t[name] )
--> 123

这有效,但不是很安全,因为dofile()只执行它在文件中找到的任何Lua代码。如果文件返回的表格中包含您保存的值,那么它的效果非常好,但有人可以轻松编辑此文件以包含os.execute("sudo rm -rf /")或其他令人愉快的乐趣。

通过明智地使用setfenv()debug.sethook(),可以使其更加健壮,但是如果你想要正确地使用它,你应该使用Lua的众多序列化库中的一个,其中一个选择可以找到here

答案 1 :(得分:0)

请参考此示例, https://flicsdb.com/read-properties-file-in-lua/ 它说明了如何读取属性文件以及如何忽略空格或#