詳細描述:http://www.runoob.com/lua/lua-file-io.html
Lua文件I/O
1. 簡單模式
-- 以只讀方式打開文件
-- file = io.open (filename [, mode]) 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)
mode(模式)的值:
| 模式 | 描述 |
|---|---|
| r | 以只讀方式打開文件,該文件必須存在。 |
| w | 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。 |
| a | 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留) |
| r+ | 以可讀寫方式打開文件,該文件必須存在。 |
| w+ | 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。 |
| a+ | 與a類似,但此文件可讀可寫 |
| b | 二進制模式,如果文件是二進制文件,可以加上b |
| + | 號表示對文件既可以讀也可以寫 |
2. 完全模式:通常我們需要在同一時間處理多個文件,我們需要使用 file:function_name 來代替 io.function_name 方法。以下實例演示了如何同時處理同一個文件
-- 以只讀方式打開文件 file = io.open("test.lua", "r") -- 輸出文件第一行 print(file:read()) -- 關閉打開的文件 file:close() -- 以附加的方式打開只寫文件 file = io.open("test.lua", "a") -- 在文件最后一行添加 Lua 注釋 file:write("--test") -- 關閉打開的文件 file:close()
