LUA 将文件内容写入另一个(Garry's Mod)

Posted

技术标签:

【中文标题】LUA 将文件内容写入另一个(Garry\'s Mod)【英文标题】:LUA Write contents of file to another (Garry's Mod)LUA 将文件内容写入另一个(Garry's Mod) 【发布时间】:2018-07-16 10:43:26 【问题描述】:
local myvariable = print( file.Read( "dir1/file1.txt" ) )
file.Write( "dir2/file2.txt", "myvariable" )

此代码只会将“myvariable”写入 file2.txt,但我希望将 file1.txt 中的内容写入 file2.txt。我可以将“字符串”作为变量读取吗?还有其他想法可以实现这项工作吗?

注意:这是 Garry 的 Mod,所以它的 LUA 可以在这里引用:http://wiki.garrysmod.com/page/Main_Page

【问题讨论】:

【参考方案1】:

试试

local myvariable = file.Read( "dir1/file1.txt" )
file.Write( "dir2/file2.txt", myvariable )

【讨论】:

不带引号这样做的问题是 file2.txt 只是变成空白。当我省略字符串的引号时,它似乎没有向文件写入任何内容(奇怪的是它也没有收到 lua 错误)。【参考方案2】:

我发现 LUA 可以使用很长的字符串,所以我将所有文本放在脚本中,而不是放在它自己的文件中。

cl.lua 文件让客户端读取文件并根据需要显示文本(在我的例子中,它在一个盒子中打开,即 vgui.Create("DFrame")):

    ...
    text:SetText(file.Read("dir/to/large_text_file.txt", "DATA"))
    ...

在实际将巨型字符串写入(如前所述)被读取的文件的 .lua 文件中:

...
file.Write( "dir/to/large_text_file.txt", "really long string that is written to said file... this string ended up over 10,000 characters for me" )

【讨论】:

以上是关于LUA 将文件内容写入另一个(Garry's Mod)的主要内容,如果未能解决你的问题,请参考以下文章

lua能够用来写二进制数据吗?

如何将 BIM 360 文件的内容作为文件流读取并将其写入另一个流

写入文件nodemcu lua

C++ 如何将一个文件里的数据写入到另一个文件里?

如何在lua中设置文件写入函数调用的长度?

将一个 lua 状态连接到另一个状态