在Lua中更改文件中的字符

我有一个半复杂的Lua编码问题/帮助请求。虽然我是初学者,但我对Lua有基本的了解。主要是研究IO(我希望这是正确的事情)。无论如何,我的问题是如何读取一个文件,将文件中的所有字符转换为其他字符(例如字符“A”转换为字符“B”,即使它在一个单词中)然后将其附加到文件末尾。

当前代码(我知道这不多,但每个有关IO文件输入/输出的教程都很模糊并且不同。而且我今天才入门......)

Lua 5.1

file = io.open("dump.txt", a+)
modifyable = file:read()

据我所知,我正在从文件“dump.txt”中读取,并使用Append+,这应该将其添加到底部。然后我正在读取该文件,以便我可以添加所需的更改。我是否有错,我需要做什么才能实现我的目标?

我还读到过,file:write允许我写入此行,但因为我使用了a +,所以会起作用吗?

点赞
用户869951
用户869951

你可以使用a+,但为什么要在转换时保持文件打开:

file = io.open("dump.txt", 'r')
modifyable = file:read()
file:close()
modified = doModifications(modifyable) -- (like changing all A to B)
file = io.open("dump.txt", 'a')
file:write(modified)

如果你想使用a+

file = io.open("dump.txt", 'a+')
modifyable = file:read()
modified = doModifications(modifyable) -- (like changing all A to B)
file:write(modified)
2014-05-16 03:33:57