目录
每一个ESP8266都配有一个闪存,这个闪存很像是一个小硬盘,我们上传的文件就被存放在这个闪存里。这个闪存的全称是Serial Peripheral Interface Flash File System(SPIFFS)。
除了可以存放上传的程序以外,我们还可以将网页文件或者系统配置文件存放在ESP8266的闪存中。
一、FS库
包含很多对闪存文件系统操作的工具函数。
二、SPIFFS对象
SPIFFS对象包含很多方法。
1.begin()
代码如下(示例):
if(SPIFFS.begin()){ // 启动SPIFFS
Serial.println("SPIFFS Started.");
} else {
Serial.println("SPIFFS Failed to Start.");
}
2.format()
代码如下(示例):
Serial.println("SPIFFS format start");
SPIFFS.format(); // 格式化SPIFFS
Serial.println("SPIFFS format finish");
3.open(path, mode)
代码如下(示例):
File dataFile = SPIFFS.open(path, mode);
//建立File对象用于向SPIFFS中的file对象写入信息
//path:文件的路径(如:/test.text)
//mode:文件的读写模式,可以为 "r", "w", "a", "r+", "w+", "a+"中的任意一个,这个与C言语中访问文件系统的方式是一样的。
//该方法返用成功后会返回一个File对象,否则就会返回空。
//对象用于处理所有的文件流,例如:readBytes, findUntil, parseInt, println。
4.exists(path)
代码如下(示例):
SPIFFS.exists(path);
//检测指定文件或目录是否存在。
5.openDir(path)
代码如下(示例):
Dir dir = SPIFFS.openDir(folder_name);
while (dir.next()) { // dir.next()用于检查目录中是否还有“下一个文件”
Serial.println(dir.fileName()); // 输出文件名
}
}
// 建立“目录”对象
//目录对象常用于枚举,它会提供三个方法:next(),fileName(), 和 openFile(mode)
//dir.next()用于检查目录中是否还有“下一个文件”
//dir.fileName()输出文件名
//dir.openFile()返回一个File文件对象,对象用于处理所有的文件流,例如:readBytes, findUntil, parseInt, println。
6.remove
删除指定绝对路径上的文件或目录。
SPIFF.remove(path); //删除绝对地址文件
7.rename
SPIFFS.rename(pathFrom, pathTo)
三、File对象
SPIFFS.open 和 dir.openFile 函数都可以返回一个File文件对象实例,File对象包含很多方法。(这个对象用于处理所有的文件流,例如:readBytes, findUntil, parseInt, println)
1.size()
代码如下(示例):
//建立File对象用于从SPIFFS中读取文件
File dataFile = SPIFFS.open(file_name, "r");
for(int i=0; i<dataFile.size(); i++){//返回文件的大小
Serial.print((char)dataFile.read());
}
//完成文件读取后关闭文件
dataFile.close();
2.close()
代码如下(示例):
File dataFile = SPIFFS.open(file_name, "w");// 建立File对象用于向SPIFFS中的File对象写入信息
dataFile.println("Hello IOT World."); // 向dataFile写入字符串信息
dataFile.close(); // 完成文件写入后关闭文件