File io Lua-如何将服务器上的数据保存到pc上?

File io Lua-如何将服务器上的数据保存到pc上?,file-io,lua,File Io,Lua,如何从PC上的服务器读取和保存数据 a=io.open(path.."/datafile","wb") a:write("nonsense") a:close() 这是同一条路还是另一条路? 我想从我的服务器读取并保存此文件到我的电脑,但我如何才能做到这一点? 我希望有人能帮我你想做什么还不完全清楚。如果您想将文件从一台机器复制到另一台机器,下面是一种方法。请注意,它的工作原理是在将整个文件内容复制到目标之前将其读取到内存中,因此它不适用于真正巨大的文件,例如>~100MB(YMMV)

如何从PC上的服务器读取和保存数据

 a=io.open(path.."/datafile","wb")
 a:write("nonsense")
 a:close()
这是同一条路还是另一条路? 我想从我的服务器读取并保存此文件到我的电脑,但我如何才能做到这一点?
我希望有人能帮我

你想做什么还不完全清楚。如果您想将文件从一台机器复制到另一台机器,下面是一种方法。请注意,它的工作原理是在将整个文件内容复制到目标之前将其读取到内存中,因此它不适用于真正巨大的文件,例如>~100MB(YMMV)

编辑

根据@lhf的建议,这里有一个可以处理大型文件的版本。它以小块的形式读取并写入文件:

local SOURCE_PATH = "my/source/path/datafile.txt"
local DESTINATION_PATH = "another/path/datafile.txt"
local BUFFER_SIZE = 4096   -- in bytes

local fh = assert( io.open( SOURCE_PATH, "rb" ) )
local fh_out = assert( io.open( DESTINATION_PATH, "wb" ) )

local data = fh:read( BUFFER_SIZE )
while data do
    fh_out:write( data )
    data = fh:read( BUFFER_SIZE )
end

fh:close()
fh_out:close()
local SOURCE_PATH = "my/source/path/datafile.txt"
local DESTINATION_PATH = "another/path/datafile.txt"
local BUFFER_SIZE = 4096   -- in bytes

local fh = assert( io.open( SOURCE_PATH, "rb" ) )
local fh_out = assert( io.open( DESTINATION_PATH, "wb" ) )

local data = fh:read( BUFFER_SIZE )
while data do
    fh_out:write( data )
    data = fh:read( BUFFER_SIZE )
end

fh:close()
fh_out:close()