ファイルの読み書き

Luaでファイルの読み書き
file1.lua

#!/bin/env lua
f = io.open("12345.txt","r+")
if not f then print("Could not open file ") return end

for l in f:lines() do
    io.write(l.."\n")
end

f:seek("end")
f:write("cdefgh\n")

f:seek("set")
f:write("a\nb")

f:close()

for l in io.lines("12345.txt") do
    io.write(l.."\n")
end

実行例

$ lua file1.lua
1
22
333
4444
55555
a
b2
333
4444
55555
cdefgh
  • file:linesでは改行が消える。
  • file:linesは1回最後まで読んだら、file:seekしても、再度行うことはできない。
  • io.lines()では、closeが不要
  • 上の例では、"rw"でio.openすると、ファイルの書き換えができない。