文件模块

分类: 文件操作函数

函数:file.newDir 新建目录

函数说明 : 新建目录
函数方法 : file.newDir(路径 path);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明
pathstring新建文件夹的路径
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

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

参数类型说明
pathstring新建文件的路径
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

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

参数类型说明
pathstring新建文件的路径
返回值类型说明
datastring读取的数据

示例

data = file.read("/var/touchelf/test/1.txt");
sys.log(data)

函数:file.readTable 文件读取至Table

函数说明 : 文件读取按照换行分割至Table
函数方法 : file.readTable(路径 path);
返回值 : 数据 data

参数类型说明
pathstring文件路径
返回值类型说明
datatable读取的数据

示例

data = file.readTable("/var/touchelf/test/1.txt");
sys.log(data)

函数:file.write 文件写入

函数说明 : 文件写入
函数方法 : file.write(路径 path, 数据 data, 写入模式 mode?);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明必填
pathstring文件路径必填
datastring数据必填
modestring写入模式非必填,默认为 w
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

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

参数类型说明必填
pathstring文件路径必填
datatable数据必填
modestring写入模式非必填,默认为 w
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

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

参数类型说明
pathstring文件路径
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

--删除单个文件
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

参数类型说明
fromstring源路径
tostring目标路径
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

--复制单个文件
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

参数类型说明
fromstring源路径
tostring目标路径
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

--移动单个文件
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

参数类型说明
pathstring路径
参数类型说明
flagboolean是否存在
typestring文件或文件夹

示例

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

参数类型说明
pathstring路径
参数类型说明
sizenumber文件大小(字节)

示例

size = file.size("/var/touchelf/scripts/示例.lua")
sys.log(size)

函数:file.list 文件列表

函数说明 : 文件列表
函数方法 : file.list(路径 path);
返回值 : 文件列表 table

参数类型说明
pathstring路径
参数类型说明
ttable文件列表

示例

t = file.list("/var/touchelf/scripts")
sys.log(t)

函数:file.find 文件查找

函数说明 : 文件查找
函数方法 : file.find(路径 path);
返回值 : 文件列表 table

参数类型说明
pathstring路径
参数类型说明
ttable文件列表(含路径)

示例

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文件路径
返回值类型说明
plistTabletableplist文件内容

示例

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);

注意事项:

  1. 使用该函数操作文件会导致文件所有者变 root,如果需要更改用户级应用的 plist 需要在写入后修改权限。

sys.exec("chown mobile:mobile "..plistPath) -- 修正文件权限
sys.exec("chmod 644 "..plistPath)