3.2.10文件系统操作¶
作者:闫国梁 最后更新时间:2020年7月6日 ## 文件系统操作
模块具有64Mb的flash空间,除了模块自身程序占用以外还剩余了一部分空间可供用户使用,AT和LUAT均支持进行操作。 ## AT方式 ### 创建一个文件:AT+FSCREATE 语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
设置命令 |
AT+FSCREATE= |
OK 或 ERROR |
查询命令 |
AT+FSCREATE=? |
OK 或 ERROR |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
文件名 |
字符串型,不用加双引号,不超过 64 个字节 |
读文件:AT+FSREAD¶
语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
设置命令 |
AT+FSREAD=,,, |
OK 或 ERROR |
查询命令 |
AT+FSREAD=? |
OK 或 ERROR |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
文件名 |
字符串 型,不用加双引号,不超过 64 个字节 |
||
0 |
从文件开头读文件 |
||
1 |
从文件的位置开始读文件 |
||
要读取的文件的长度 |
不能大于 10240 个字节。如果文 件的实际长度小于该值,则 读取的是文件的实际长度。 |
||
读文件的起始位置 |
该取 值应小于文件的大小。当=0 时,该值无效 |
||
读取的文件数据 |
写文件:AT+FSWRITE¶
语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
设置命令 |
AT+FSWRITE=,, , |
> (出现>后写入数据) OK 或 ERROR 或 TimeOut |
查询命令 |
AT+FSWRITE=? |
OK 或 ERROR |
注意事项 |
当输入数 据的长度达到时,自动写入。 或输入数据 的时间超过时,返回TimeOut |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
文件名 |
字符串型,不用加双引号,不超过 64 个字节 |
||
写文件的模式 |
0 |
从文件的开头开始写文件 |
|
1 |
从文件的末尾开始写文件 |
||
要写的数据的长度 |
不能大于 10240 个字节 |
||
输入持续的时间 |
单位:秒 |
获取可用空间大小:AT+FSMEM¶
执行命令用来获取文件系统剩余空间大小。 语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
执行命令 |
AT+FSMEM |
+FSMEM: OK |
查询命令 |
AT+FSMEM=? |
OK 或 ERROR |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
文件系统可用空间大小 |
单位:字节 |
删除文件:AT+FSDEL¶
语法规则:
命令类型 |
语法 |
返回 |
---|---|---|
设置命令 |
AT+FSDEL= |
OK 或 ERROR |
查询命令 |
AT+FSDEL=? |
OK 或 ERROR |
参数定义:
参数 |
定义 |
取值 |
对取值的说明 |
---|---|---|---|
文件名 |
字符串型,不用加双引号,不超过 64 个字节 |
io.readFile(path)¶¶
读取文件并返回文件的内容
参数
传入值类型 |
释义 |
---|---|
string |
path,文件全名例如:“/ldata/call.txt” |
返回值
string,文件的内容,文件不存在返回nil
例子
local c = io.readFile("/ldata/call.txt")
io.writeFile(path, content, mode)¶¶
写入文件指定的内容,默认为覆盖二进制模式
参数
传入值类型 |
释义 |
---|---|
string |
path,文件全名例如:“/ldata/call.txt” |
string |
content,文件内容 |
string |
mode,文件写入模式默认“w+b” |
返回值
string,文件的内容
例子
local c = io.writeFile("/ldata/call.txt","test")
io.pathInfo(path)¶¶
将文件路径分解为table信息
参数
传入值类型 |
释义 |
---|---|
string |
path,文件路径全名例如:“/ldata/call.txt” |
返回值
table,{dirname=“/ldata/”,filename=“call.txt”,basename=“call”,extname=“.txt”}
例子
loca p = io.pathInfo("/ldata/call.txt")
io.fileSize(path)¶¶
返回文件大小
参数
传入值类型 |
释义 |
---|---|
string |
path,文件路径全名例如:“/ldata/call.txt”,“test” |
返回值
number ,文件大小
例子
locan cnt = io.fileSize("/ldata/call.txt")