【12月更文挑战第04天】

简介: 【12月更文挑战第04天】

Lua的文件I/O操作可以通过两种模式进行:简单模式和完全模式。这两种模式提供了不同级别的灵活性和控制。

简单模式(Simple Model)

简单模式使用io.open函数打开文件,并设置当前输入文件(io.input)和当前输出文件(io.output)。这种模式适合进行简单的文件读写操作。

打开文件

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

读取文件

local content = io.read()  -- 读取整个文件内容

写入文件

io.output("output.txt")  -- 设置当前输出文件
io.write("Hello, World!")  -- 写入内容

关闭文件

io.close(file)  -- 关闭文件

完全模式(Complete Model)

完全模式提供了更细粒度的控制,允许你直接操作文件句柄。这种模式适合进行复杂的文件操作,如同时处理多个文件。

打开文件

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

读取文件

local content = file:read()  -- 读取整个文件内容

写入文件

local outputFile = io.open("output.txt", "w")  -- 以写入模式打开文件
outputFile:write("Hello, World!")  -- 写入内容
outputFile:close()  -- 关闭文件

关闭文件

file:close()  -- 关闭文件

完整项目示例

假设我们有一个项目,需要读取一个文本文件,处理其中的内容,并将结果写入另一个文件。

文件内容(input.txt)

Line 1
Line 2
Line 3

Lua脚本(process_file.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()
目录
相关文章
|
2月前
|
开发者 索引
【12月更文挑战第16天】
【12月更文挑战第16天】
41 4
|
3月前
【11月更文挑战第25天】
【11月更文挑战第25天】
42 0
|
28天前
|
人工智能 移动开发 自然语言处理
【1月更文挑战第22天】
【1月更文挑战第22天】
59 24
|
2月前
【12月更文挑战第10天】
【12月更文挑战第10天】
86 32
|
2月前
【12月更文挑战第18天】
【12月更文挑战第18天】
85 22
|
2月前
|
SQL 关系型数据库 MySQL
【12月更文挑战第19天】
【12月更文挑战第19天】
38 18
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
【12月更文挑战第24天】
【12月更文挑战第24天】
40 9
|
2月前
|
Java 开发者
【12月更文挑战第17天】
【12月更文挑战第17天】
64 16
|
2月前
【12月更文挑战第11天】
【12月更文挑战第11天】
71 21
|
2月前
|
Python
【12月更文挑战第23天】
【12月更文挑战第23天】
35 5

热门文章

最新文章