3-1-1 SPIFFS对象

ESP8266 家庭自动化项目中文版目录​​​​​​​

我们来看几个SPIFFS对象:

  • begin(开始):安装 fliesystem。需要首先调用并返回 true 表示成功,否则返回 false
if (SPIFFS.begin())
{
  //使用F函数将字符串存储在flash中
  //而不是在RAM内存中。这节省了大量的RAM内存
  Serial.println(F("File systestem mounted."));
}
else
{
  Serial. println(F ("Mounting file system failed."));
}
  • info:返回有关整个文件系统的信息,这些信息存储在 FSInfo 结构体中。 FSInfo 结构体具有以下成员变量:
struct FSInfo {
  size_t totalBytes;
  size_t usedBytes;
  size_t blockSize;
  size_t pageSize;
  size_t maxOpenFiles;
  size_t maxPathLength;
};

声明 fs_info 并使用 info 函数填充它将允许我们访问有关 filesystem 的信息:

FSInfo fs_info;
SPIFFS.info(fs_info);
Serial.print("Used bytes: ");
Serial.println(fs_info.usedBytes);
  • existsSPIFFS.exists(path)  返回 truefalse 如果文件系统中存在指定的文件路径:
if(SPIFFS.exist("/config.json"))
  Serial.println(F("File config.json exists."));

提示:路径必须是绝对路径并以斜杠开头

 

  • format:格式化整个文件系统并返回 truefalse 。可以在 begin 函数之前或之后调用 Format ,根据文件系统大小,它需要几十秒才能完成:
SPIFFS.format();
  • open:此函数返回一个File对象,并将文件的绝对路径和打开文件的模式作为参数。 成功时返回true,否则返回false:
SPIFFS.open(path, mode);
File config_file = SPIFFS.open("/config.json", "w");
if (!config_file) {
  Serial.println(F("failed opening config.json file."));
}

在前面的代码中,用于打开文件的所选模式是 w(写入)。 使用与ANSI C函数fopen相同的模式:

r

打开文本文件进行阅读。 流位于文件的开头。
r+.打开文件进行读写。 流位于文件的开头。
w

将文件截断为零长度或创建文本文件进行写操作,流位于文件的开头。

w+打开文件进行读写。 如果文件不存在,则创建该文件; 否则它会被截断,流位于文件的开头。
a开文件以进行追加(在文件末尾写入)如果不存在则创建文件, 流位于文件的末尾。
a+打开文件进行读或者追加(在文末写)。如果文件不存在,则创建该文件。用于读取的初始文件位置位于文件的开头,但输出始终附加到文件的末尾。
  • remove:从文件系统中删除文件。 它将绝对路径作为参数,并在成功时返回true,否则返回false:
if (SPIFFS.remove("/config.json"))
  Serial.println(F("File config.json was removed"));
  • rename:重命名文件。采用两个参数,即当前名称和新名称的绝对路径。如果成功则返回true,否则返回false:
if(SPIFFS.rename("/old_file_name.json","/new_file_name.json")
  Serial.println(F("File renamed."));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值