Il miglior tutorial il file Lua I / O Nel 2024, in questo tutorial puoi imparare Modalità semplice,Full Mode,
Lua I / O librerie per i file di lettura e di elaborazione. Diviso in modelli semplici (come il C), modalità completa.
In modo semplice di fare alcune operazioni sui file semplici quando più appropriata. Ma dopo qualche operazione di file avanzata, il modello semplice sembrava essere inadeguata. Per esempio durante la lettura di questa operazione più file, utilizzare la modalità completa è più adatto.
La dichiarazione operazione file aperto è il seguente:
file = io.open (filename [, mode])
Modalità di valore sono:
modo | descrizione |
---|---|
R | Aperto file di sola lettura, il file deve esistere. |
w | Aprire il file di sola scrittura, se il file esiste, la lunghezza del file viene cancellato a 0, vale a dire, il contenuto del file di spariranno. Se il file non esiste, creare il file. |
un | Nel file di sola scrittura aggiuntiva viene aperta. Se il file non esiste, la creazione del file, se il file esiste, i dati di scrittura sarà aggiunto alla fine del file, il contenuto del file originale saranno mantenute. (EOF carattere riservato) |
r + | Lettura e scrittura per aprire un file, il file deve esistere. |
w + | Aperto a leggere e scrivere file, se il file esiste, la lunghezza del file di azzeramento che il contenuto del file scomparirà. Se il file non esiste, creare il file. |
a + | E una simile, ma questo file è leggibile e scrivibile |
B | la modalità binaria, se il file è un file binario, è possibile aggiungere b |
+ | Segno indica un file può sia leggere e scrivere |
Modalità semplice utilizzando lo standard di I / O o utilizzare un file di input corrente e un file di output corrente.
Quanto segue è codice del file file.lua, operazione di file test.lua (se non è necessario per creare il file), come segue:
-- 以只读方式打开文件 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)
L'attuazione del codice di cui sopra, si trova che la prima linea di informazioni test.ua file di output e l'ultima riga del file aggiungere lua commenti. Sono qui come output è:
-- test.lua 文件
Nell'esempio sopra abbiamo usato io "x", in cui io.read (), non abbiamo parametri, parametro può essere uno della seguente tabella:
modo | descrizione |
---|---|
"* N" | Un numero viene letto e restituito. Esempio: file.read ( "* n") |
"* A" | Leggi l'intero file dalla posizione corrente. Esempio: file.read ( "* a") |
"* L" (default) | Legge la riga successiva alla fine del file (EOF) a rendimenti zero. Esempio: file.read ( "* L") |
numero | Restituisce un numero specificato di caratteri della stringa, o quando EOF restituisce zero. Esempio: file.read (5) |
Altri metodi sono io:
io.tmpfile (): restituisce un handle per il file temporaneo, il file viene aperto in modalità di aggiornamento cancellato automaticamente quando le estremità del programma
io.type (file): rilevare se un file obj maniglie disponibili
io.flush (): scrivere buffer di tutti i dati nel file
io.lines (nome del file opzionale): restituisce una funzione iteratore, ogni chiamata otterrà una riga nel file, quando la fine del file, verrà restituito pari a zero, ma non chiude il file
Di solito abbiamo bisogno di affrontare con più file allo stesso tempo. Abbiamo bisogno di utilizzare il file: nome_funzione invece metodi io.function_name. L'esempio seguente mostra la stessa lima allo stesso tempo come:
-- 以只读方式打开文件 file = io.open("test.lua", "r") -- 输出文件第一行 print(file:read()) -- 关闭打开的文件 file:close() -- 以附加的方式打开只写文件 file = io.open("test.lua", "a") -- 在文件最后一行添加 Lua 注释 file:write("--test") -- 关闭打开的文件 file:close()
L'attuazione del codice di cui sopra, si trova che la prima linea di informazioni test.ua file di output e l'ultima riga del file aggiungere lua commenti. Sono qui come output è:
-- test.lua 文件
leggere i parametri coerenti con la modalità semplice.
Altri metodi:
File: seek (donde opzionale, opzionale offset): impostare e recuperare la posizione corrente del file, il successo, restituisce la posizione del file finale (in byte), non riesce più a zero viene restituito un messaggio di errore.valori di parametro Donde possono essere:
File: flush (): scrivere buffer di tutti i dati nel file
io.lines (nome del file opzionale): aprire il modo di lettura di file nome file specificato e restituisce una funzione iteratore, ogni chiamata archivierà una linea, quando la fine del file, verrà restituito pari a zero, e chiudere automaticamente il file.
Se i parametri cintura io.lines () <=> io.input (): linee (); il dispositivo di input predefinito per leggere il contenuto, ma alla fine non chiude il file, ad esempio
for line in io.lines("main.lua") do print(line) end
L'esempio seguente utilizza cercare metodi per individuare la posizione del file penultima 25 e utilizzare il metodo di lettura * un parametro, leggere l'intero file dalla posizione corrente (penultima posizione 25).
-- 以只读方式打开文件 file = io.open("test.lua", "r") file:seek("end",-25) print(file:read("*a")) -- 关闭打开的文件 file:close()
Il mio risultato è uscita qui:
st.lua 文件末尾--test