文件模块
分类: 文件操作函数
函数: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)