目錄lua 檔案 i/o
簡單模式
完全模式
簡單模式(****** model)
擁有乙個當前輸入檔案和乙個當前輸出檔案,並且提供針對這些檔案相關的操作
完全模式(complete model)
使用外部的檔案控制代碼來實現。它以一種面對物件的形式,將所有的檔案操作定義為檔案控制代碼的方法
開啟檔案操作語句如下:
rfile = io.open (filename [, mode])
以唯讀方式開啟檔案,該檔案必須存在。
w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。
a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)
r+以可讀寫方式開啟檔案,該檔案必須存在。
w+開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。
a+與a類似,但此檔案可讀可寫
b二進位制模式,如果檔案是二進位制檔案,可以加上b
+號表示對檔案既可以讀也可以寫
模式-- 以唯讀方式開啟檔案
file = io.open("test.lua", "r")
-- 設定預設輸入檔案為 test.lua
io.input(file)
-- 輸出檔案第一行
print(io.read())
-- 關閉開啟的檔案
io.close(file)
-- 以附加的方式開啟只寫檔案
file = io.open("test.lua", "a")
-- 設定預設輸出檔案為 test.lua
io.output(file)
-- 在檔案最後一行新增 lua 注釋
io.write("-- test.lua 檔案末尾注釋")
-- 關閉開啟的檔案
io.close(file)
輸出:-- test.lua 檔案
描述"*n"
讀取乙個數字並返回它。例:file.read("*n")
"*a"
從當前位置讀取整個檔案。例:file.read("*a")
"*l"(預設)
number
返回乙個指定字元個數的字串,或在 eof 時返回 nil。例:file.read(5)
io.tmpfile()
返回乙個臨時檔案控制代碼,該檔案以更新模式開啟,程式結束時自動刪除
io.type(file):
檢測obj是否乙個可用的檔案控制代碼
io.flush():
向檔案寫入緩衝中的所有資料
io.lines(optional file name)
返回乙個迭代函式,每次呼叫將獲得檔案中的一行內容,當到檔案尾時,將返回nil,但不關閉檔案
file:seek(optional whence, optional offset)-- 以唯讀方式開啟檔案
file = io.open("test.lua", "r")
-- 輸出檔案第一行
print(file:read())
-- 關閉開啟的檔案
file:close()
-- 以附加的方式開啟只寫檔案
file = io.open("test.lua", "a")
-- 在檔案最後一行新增 lua 注釋
file:write("--test")
-- 關閉開啟的檔案
file:close()
-- test.lua 檔案
file:flush()
io.lines(optional file name)
for line in io.lines("main.lua") do
print(line)
end
我這邊輸出的結果是:-- 以唯讀方式開啟檔案
file = io.open("test.lua", "r")
file:seek("end",-25)
print(file:read("*a"))
-- 關閉開啟的檔案
file:close()
st.lua 檔案末尾--test
lua菜鳥教程 Lua 檔案 I O
lua 檔案 i o lua i o 庫用於讀取和處理檔案。分為簡單模式 和c一樣 完全模式。簡單模式 model 擁有乙個當前輸入檔案和乙個當前輸出檔案,並且提供針對這些檔案相關的操作。完全模式 complete model 使用外部的檔案控制代碼來實現。它以一種面對物件的形式,將所有的檔案操作定...
lua基礎 五 I O檔案操作
lua檔案操作相關i o 可以規定在特定目錄下開啟乙個檔案,如果該檔案不存在的話,lua會幫助我們在你規定的目錄下建立這個檔案,前提是該目錄要存在 同時我們應該掌握寫入檔案的模式 對以下寫入模式進行說明 r 模式 讀模式 該模式下,只允許對檔案進行讀取內容,不容許寫入 w 寫模式 允許對檔案進行寫入...
Lua學習筆記 lua堆疊
首先了解一下c 與lua之間的通訊 假設在乙個lua檔案中有如下定義 hello.lua檔案 請注意紅色數字,代表通訊順序 1 c 想獲取lua的myname字串的值,所以它把myname放到lua堆疊 棧頂 以便lua能看到 2 lua從堆疊 棧頂 中獲取myname,此時棧頂再次變為空 3 lu...