2017-07-27 59 views
3

我是一個完全在Lua中的新手,我偶然發現了一個我不明白的問題。Lua文件:讀取意外行爲

所以我想要做的是打開一個文件,讀取數據並將其保存到具有不同名稱的不同文件中。

下面是代碼

local infile = io.open(folder..'/'..f, "r") 
local instr = infile:read("*all") 
infile:close() 

local outfile = io.open(folder..'/'..newName, "w") 
outfile:write(instr) 
outfile:close() 

結果我得到的是一個源文件288KB和目的地文件2K位

如此反覆,因爲我在Lua是一個新手,但事實上,這個問題在infile:read是一個瘋狂的猜測,但我看到它的方式,它是infile:readoutfile:write

UPD: 內容是絕對任意的,這意味着會出現特殊符號。

在此先感謝,

關心!

回答

1

我將它通過在io.open通話將標誌b打開二進制模式的輸入和輸出文件的工作,所以我現在的代碼是

 local infile = io.open(folder..'/'..f, "rb") 
     local instr = infile:read("*all") 
     Log(instr) 
     infile:close() 

     local outfile = io.open(folder..'/'..newName, "wb") 
     outfile:write(instr) 
     outfile:close()