文件模块
分类: 文件操作函数
函数:file.newDir 新建目录
函数说明 : 新建目录
函数方法 : file.newDir(路径 path);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 |
---|---|---|
path | string | 新建文件夹的路径 |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
flag,err = file.newDir("/var/touchelf/test");
if flag then
sys.dialog("新建目录成功")
else
sys.log(err)
sys.dialog("新建目录失败")
end
函数:file.newFile 新建文件
函数说明 : 新建文件
函数方法 : file.newFile(路径 path);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 |
---|---|---|
path | string | 新建文件的路径 |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
flag,err = file.newFile("/var/touchelf/test/1.lua");
if flag then
sys.dialog("新建文件成功")
else
sys.log(err)
sys.dialog("新建文件失败")
end
函数:file.read 文件读取
函数说明 : 文件读取
函数方法 : file.read(路径 path);
返回值 : 数据 data
参数 | 类型 | 说明 |
---|---|---|
path | string | 新建文件的路径 |
返回值 | 类型 | 说明 |
---|---|---|
data | string | 读取的数据 |
示例
data = file.read("/var/touchelf/test/1.txt");
sys.log(data)
函数:file.readTable 文件读取至Table
函数说明 : 文件读取按照换行分割至Table
函数方法 : file.readTable(路径 path);
返回值 : 数据 data
参数 | 类型 | 说明 |
---|---|---|
path | string | 文件路径 |
返回值 | 类型 | 说明 |
---|---|---|
data | table | 读取的数据 |
示例
data = file.readTable("/var/touchelf/test/1.txt");
sys.log(data)
函数:file.write 文件写入
函数说明 : 文件写入
函数方法 : file.write(路径 path, 数据 data, 写入模式 mode?);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
path | string | 文件路径 | 必填 |
data | string | 数据 | 必填 |
mode | string | 写入模式 | 非必填,默认为 w |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
flag,err = file.write("/var/touchelf/test/1.txt","touchelf");
if flag then
sys.dialog("文件写入成功")
else
sys.log(err)
sys.dialog("文件写入失败")
end
--使用追加写入模式
file.write("/var/touchelf/test/1.txt","touchelf","a");
函数:file.writeTable 文件写入Table
函数说明 : Table按照换行符连接写入文件
函数方法 : file.writeTable(路径 path, 数据 data, 写入模式 mode?);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
path | string | 文件路径 | 必填 |
data | table | 数据 | 必填 |
mode | string | 写入模式 | 非必填,默认为 w |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
data = {"touchelf","触摸精灵"}
flag,err = file.writeTable("/var/touchelf/test/1.txt",data);
if flag then
sys.dialog("文件写入Table成功")
else
sys.log(err)
sys.dialog("文件写入Table失败")
end
--使用追加写入模式
file.writeTable("/var/touchelf/test/1.txt",data,"a");
函数:file.remove 文件删除
函数说明 : 文件删除
函数方法 : file.remove(路径 path);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 |
---|---|---|
path | string | 文件路径 |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
--删除单个文件
flag,err = file.remove("/var/touchelf/test/1.txt");
if flag then
sys.dialog("文件删除成功")
else
sys.log(err)
sys.dialog("文件删除失败")
end
--删除文件夹
file.remove("/var/touchelf/test");
函数:file.copy 文件复制
函数说明 : 文件复制
函数方法 : file.copy(源路径 from, 目标路径 to);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 |
---|---|---|
from | string | 源路径 |
to | string | 目标路径 |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
--复制单个文件
flag,err = file.copy("/var/touchelf/test/1.txt","/var/touchelf/test2/1.txt");
if flag then
sys.dialog("文件复制成功")
else
sys.log(err)
sys.dialog("文件复制失败")
end
--复制文件夹
file.copy("/var/touchelf/test","/var/touchelf/test2");
函数:file.move 文件移动
函数说明 : 文件移动
函数方法 : file.move(源路径 from, 目标路径 to);
返回值 : 是否成功 flag, 错误信息 err
参数 | 类型 | 说明 |
---|---|---|
from | string | 源路径 |
to | string | 目标路径 |
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | 返回true或者false |
err | string | 错误详细信息 |
示例
--移动单个文件
flag,err = file.move("/var/touchelf/test/1.txt","/var/touchelf/test2/1.txt");
if flag then
sys.dialog("文件移动成功")
else
sys.log(err)
sys.dialog("文件移动失败")
end
--移动文件夹
file.move("/var/touchelf/test","/var/touchelf/test2");
函数:file.exists 文件是否存在
函数说明 : 判断文件是否存在并返回类型
函数方法 : file.exists(路径 path);
返回值 : 是否存在 flag, 类型 type
参数 | 类型 | 说明 |
---|---|---|
path | string | 路径 |
参数 | 类型 | 说明 |
---|---|---|
flag | boolean | 是否存在 |
type | string | 文件或文件夹 |
示例
flag, t = file.exists("/var/touchelf/scripts/示例.lua")
sys.log(flag)
sys.log(t)
flag, t = file.exists("/var/touchelf/scripts")
sys.log(flag)
sys.log(t)
函数:file.size 文件大小
函数说明 : 文件大小
函数方法 : file.size(路径 path);
返回值 : 文件大小 size
参数 | 类型 | 说明 |
---|---|---|
path | string | 路径 |
参数 | 类型 | 说明 |
---|---|---|
size | number | 文件大小(字节) |
示例
size = file.size("/var/touchelf/scripts/示例.lua")
sys.log(size)
函数:file.list 文件列表
函数说明 : 文件列表
函数方法 : file.list(路径 path);
返回值 : 文件列表 table
参数 | 类型 | 说明 |
---|---|---|
path | string | 路径 |
参数 | 类型 | 说明 |
---|---|---|
t | table | 文件列表 |
示例
t = file.list("/var/touchelf/scripts")
sys.log(t)
函数:file.find 文件查找
函数说明 : 文件查找
函数方法 : file.find(路径 path);
返回值 : 文件列表 table
参数 | 类型 | 说明 |
---|---|---|
path | string | 路径 |
参数 | 类型 | 说明 |
---|---|---|
t | table | 文件列表(含路径) |
示例
t = file.find("/var/touchelf/scripts/*.lua")
sys.log(t)
分类: plist文件操作函数
函数:file.plist.read Plist读取
原函数名 : plistRead
函数说明 : 读取plist文件为table
函数方法 : file.plist.read(path 文本型);
返回值 : 数组 plistTable
参数 | 类型 | 说明 |
---|---|---|
path | 文本型 | 需要读取的plist文件路径 |
返回值 | 类型 | 说明 |
---|---|---|
plistTable | table | plist文件内容 |
示例
plistTable = file.plist.read("/Library/Preferences/SystemConfiguration/com.apple.wifi.plist");
sys.log(plistTable);
函数:file.plist.write Plist写入
原函数名 : plistWrite
函数说明 : 将table写入plist文件
函数方法 : file.plist.write(表 table, 路径 path);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
table | 数组 | 需要写入 plist 文件的数组 |
path | 文本型 | 需要写入的 plist 文件的绝对路径 |
示例
--plist文件路径
plistPath = "/Library/Preferences/SystemConfiguration/com.apple.wifi.plist";
-- 读取plist文件为table
plistTable = file.plist.read(plistPath);
--为表中增加touchelf键值
plistTable["touchelf"] = "touchelf"
-- file.plist.write: 将table写入plist文件
file.plist.write(plistTable, plistPath);
注意事项:
- 使用该函数操作文件会导致文件所有者变 root,如果需要更改用户级应用的 plist 需要在写入后修改权限。
sys.exec("chown mobile:mobile "..plistPath) -- 修正文件权限
sys.exec("chmod 644 "..plistPath)