Lua读取和写入文件处理例子
一、文件读存:
-- 似乎不支持大文件(不能超过9k?)
function filesaveload()
local file = io.open("c:\\in.lua", "r");
assert(file);
local data = file:read("*a"); -- 读取所有内容
file:close();
file = io.open("c:\\out.lua", "w");
assert(file);
file:write(data);
file:close();
end
filesaveload();
二、非循环表格处理:
hero = 1;
monster = 2;
building = 3;
sumunit = 4;
cha = {};
cha[1] =
{
basic =
{
name = "农民", --npc名字
cha_type = hero, --npc模型
},
combat =
{
acquire = 600.00, --主动攻击范围
basic_def = 10, --基础防御
},
};
function savetablecontent(file, obj)
local sztype = type(obj);
print(sztype);
if sztype == "number" then
file:write(obj);
elseif sztype == "string" then
file:write(string.format("%q", obj));
elseif sztype == "table" then
--把table的内容格式化写入文件
file:write("{\n");
for i, v in pairs(obj) do
file:write("[");
savetablecontent(file, i);
file:write("]=\n");
savetablecontent(file, v);
file:write(", \n");
end
file:write("}\n");
else
error("can't serialize a "..sztype);
end
end
function savetable()
local file = io.open("e:\\00_00_00_海外组_学习\\写入.txt", "w");
assert(file);
file:write("cha = {}\n");
file:write("cha[1] = \n");
savetablecontent(file, cha[1]);
file:write("}\n");
file:close();
end
savetable();
上一篇: 记录Android开发中遇到的坑
下一篇: Lua中os库详细介绍
推荐阅读
-
PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧
-
Pandas基础(文件读取与写入、Series和Dataframe、常用基本函数、排序)
-
php实现读取和写入tab分割的文件
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
C#操作xml文件:使用XmlDocument 实现读取和写入
-
Android JNI读取本地文件和读取文件并且写入其他文件
-
PHP 文件写入和读取操作实例详解【必看篇】
-
在Python程序中进行文件读取和写入操作的教程
-
java文件读取和写入(文件读写java代码)
-
Python中文件的读取和写入操作