Lua(文件I/O)

Lua 文件 I/O 操作详解

Lua 文件 I/O 操作

Lua 提供了文件 I/O 操作的多种方法,包括简单模式和完全模式。文件操作通常涉及打开文件、读取内容、写入内容以及关闭文件。

简单模式

简单模式适用于基本的文件操作,通常使用 io.input()io.output() 来设置默认的输入输出文件。

打开文件

file = io.open("test.txt", "r")  -- 以只读方式打开文件

读取文件

content = file:read("*a")  -- 读取整个文件内容
print(content)

写入文件

file = io.open("test.txt", "w")  -- 以写入方式打开文件
file:write("Hello, Lua!")  -- 写入内容
file:close()  -- 关闭文件

关闭文件

file:close()  -- 显式关闭文件

完全模式

完全模式提供了更多的控制,可以直接调用文件对象的方法。

打开文件

file = io.open("test.txt", "r")  -- 以只读方式打开

逐行读取

for line in file:lines() do
    print(line)
end

文件定位

file:seek("set", 0)  -- 将文件指针移动到开头
pos = file:seek()    -- 获取当前文件指针位置
print(pos)

文件打开模式
  • "r":只读模式(默认)。
  • "w":写入模式,覆盖已有文件。
  • "a":追加模式,在文件末尾写入。
  • "r+":读写模式,文件必须存在。
  • "w+":读写模式,覆盖已有文件。
  • "a+":读写模式,在文件末尾追加。
文件读取选项
  • "*n":读取一个数字。
  • "*a":读取整个文件内容。
  • "*l":读取一行(默认)。
  • number:读取指定字节数。
示例:复制文件
local src = io.open("source.txt", "r")
local dst = io.open("destination.txt", "w")

dst:write(src:read("*a"))

src:close()
dst:close()

错误处理

文件操作可能因权限或文件不存在而失败,建议使用 assert 或检查返回值。

local file, err = io.open("nonexistent.txt", "r")
if not file then
    print("Error:", err)
else
    -- 文件操作
    file:close()
end

注意事项

  • 文件操作完成后必须关闭文件,避免资源泄漏。
  • 在写入模式下打开文件会清空原有内容,需谨慎使用。
  • 使用 io.lines 可以更简洁地逐行读取文件:
for line in io.lines("test.txt") do
    print(line)
end

高级文件操作

临时文件

local temp = os.tmpname()  -- 生成临时文件名
local file = io.open(temp, "w")
file:write("Temporary data")
file:close()
os.remove(temp)  -- 删除临时文件

文件属性检查

function file_exists(name)
    local f = io.open(name, "r")
    if f ~= nil then
        io.close(f)
        return true
    else
        return false
    end
end

通过以上方法,可以灵活地处理文件读写操作,并根据需求选择合适的模式。

简介:本合集收录以下量产工具,基本上市面上所见U不出这些芯片了。 Alcor安国最新量产修复工具V6.18 安国(ALCOR)AU6980/6981主控U量产工具 安国(ALCOR)AU9386主控U量产修复工具 安国AU9385方案U修复量产工具 AU6368主控多合一读卡器故障图解&驱动低格工具 最新芯邦ChipsBank的量产工具软件UMPTool_v4.051 芯邦2090&2090EUMPTOOL_V1.7.3 新量产工具和配套软件 芯邦(chipsbank)1180/1183主控U量产修复工具下载V4.02 芯邦CBM2080主控U量产修复工具下载V4.0 iCreate5122方案U量产工具下载V1.06 iCreate 5062LQ主控U量产工具下载 icreate 5128l 量产工具程序下载V1.18 iCreate5122/5128方案U量产修复工具PDx16最新版V1.14B3 iCreate i5062方案U修复量产工具中文版V3.27 iCreate 5060/5062-ZD主控U量产工具V2.20(适合早期U) iCreate i5068主控量产检测工具V3.11 UT163 U量产修复工具USBest(MP tool) Ut161方案U量产修复工具V1.3.3 SM321&SM323 U量产修复工具 SMI32X主控U量产修复程序 MP2202方案U修复工具V1.032 ARK3143主控U量产修复工具软件V1.3 SKY6201 U量产修复工具 OTI2168&6828方案U量产修复工具V2.855 NC1116方案U修复量产工具V1.00 NC1119方案U修复量产工具 skymedi量产修复工具-适合kingston data traveler DT1 朗科NT2033CMS主控量产工具 MMC卡修复软件-MMCmedic格式化工具下载 存储卡修复软件,可修复MMC SD XD CF 群联phison 2143-2134系列U量产格式化修复程序下载V1.28 群联phison UP8-R 主控U量产格式化工具 TRVMPION T3551的U量产修复工具(可修清华普天的U
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值