Model
(Simple Model)
简单模式使用io.open函数打开文件,并设置当前输入文件(io.input)和当前输出文件(io.output)。这种模式适合进行简单的文件读写操作。
打开文件
代码语言:javascript代码运行次数:0运行复制luafile = io.open("filename.txt", "r") -- 以只读模式打开文件读取文件
代码语言:javascript代码运行次数:0运行复制lualocal content = io.read() -- 读取整个文件内容写入文件
代码语言:javascript代码运行次数:0运行复制luaio.output("output.txt") -- 设置当前输出文件
io.write("Hello, World!") -- 写入内容关闭文件
代码语言:javascript代码运行次数:0运行复制luaio.close(file) -- 关闭文件完全模式(Complete Model)
完全模式提供了更细粒度的控制,允许你直接操作文件句柄。这种模式适合进行复杂的文件操作,如同时处理多个文件。
打开文件
代码语言:javascript代码运行次数:0运行复制luafile = io.open("filename.txt", "r") -- 以只读模式打开文件读取文件
代码语言:javascript代码运行次数:0运行复制lualocal content = file:read() -- 读取整个文件内容写入文件
代码语言:javascript代码运行次数:0运行复制lualocal outputFile = io.open("output.txt", "w") -- 以写入模式打开文件
outputFile:write("Hello, World!") -- 写入内容
outputFile:close() -- 关闭文件关闭文件
代码语言:javascript代码运行次数:0运行复制luafile:close() -- 关闭文件完整项目示例
假设我们有一个项目,需要读取一个文本文件,处理其中的内容,并将结果写入另一个文件。
文件内容(input.txt)
代码语言:javascript代码运行次数:0运行复制Line 1
Line 2
Line 3Lua脚本(process_file.lua)
代码语言:javascript代码运行次数:0运行复制lua-- 打开输入文件
local inputFile = io.open("input.txt", "r")
-- 打开输出文件
local outputFile = io.open("output.txt", "w")
-- 读取输入文件的所有内容
local content = inputFile:read("*a") -- "*a" 表示读取整个文件
-- 处理内容(例如,反转每一行)
local lines = {}
for line in content:gmatch("[^\r\n]+") do
table.insert(lines, line:reverse())
end
-- 将处理后的内容写入输出文件
for i, line in ipairs(lines) do
outputFile:write(line .. "\n")
end
-- 关闭文件
inputFile:close()
outputFile:close()

发布评论