1.存储的文件是编译后的;
用闪存文件系统时要申请空间
2. SPIFFS.begin(); 启用闪存文件系统;
3. SPIFFS.format(); 格式化SPIFFS.open(file_name【被操作的文件位置+文件名】,"代表要对文件进行的操作") w代表写入,从文件最开始的地方写入,不会保留原来的内容;r代表读取;a代表添加信息,保留文件前面原有的信息,在后边写入信息;a与w在写入时,如果没有该文件,就自己创建。
4.File dataFile=SPIFFS.open(file_name,"w");
(1). dataFile.println("代表写入文件的内容");
(2). dataFile.close(); 关闭dataFile文件;
(3). dataFile.size(); 返回读取的dataFile文件大小;
(4). (char)dataFile.size(); 读取dataFile文件的内容,每次只返回一个char类型的数据
5.SPIFFS.exists(file_name); 检查闪存中是否有file_name文件;
6. SPIFFS.remove(file_name); 删除文件file_name;删除成功会返回true;
7. Dir dir = SPIFFS.openDir(folder_name); // 建立“目录”对象
8. dir.next() 用于检查目录中是否还有“下一个文件”,如果有返回true
9.dir.fileName() 获取文件名;
10. FSInfo fs_info;
建立了FSInfo 对象,用于存储闪存状态信息。
(1). SPIFFS.info(fs_info);
通过info函数将闪存状态信息赋给fs_info。
(2).fs_info.totalBytes 返回可用空间总和
(3). fs_info.usedBytes 返回已用空间
(4). fs_info.maxPathLength 返回最大文件名字符限制(含路径和‘\0’)
(5). fs_info.maxOpenFiles 返回最多允许打开文件数量
(6).fs_info.blockSize 返回储存块大小
(7).fs_info.pageSize 返回储存页大小
1. 通过程序向闪存文件系统写入信息
#include <FS.h>
String file_name = "/taichi-maker/notes.txt"; //被读取的文件位置和名称 void setup() { Serial.begin(115200); Serial.println(""); Serial.println("SPIFFS format start"); SPIFFS.format(); // 格式化SPIFFS Serial.println("SPIFFS format finish"); if(SPIFFS.begin()){ // 启动SPIFFS Serial.println("SPIFFS Started."); } else { Serial.println("SPIFFS Failed to Start."); } // 建立File对象用于向SPIFFS中的file对象(即/notes.txt)写入信息 File dataFile = SPIFFS.open(file_name, "w");// open函数可用于对SPIFFS进行操作; "w"代表此操作作为想SPIFFS写入文件信息,如果文件系统中没有文件file_name,程序会建立该文件 dataFile.println("Hello IOT World."); // 向dataFile写入字符串信息 dataFile.close(); // 完成文件写入后关闭文件 Serial.println("Finished Writing data to SPIFFS"); } void loop() { }2. 从闪存文件系统中读取文件
#include <FS.h>
String file_name = "/taichi-maker/notes.txt"; //被读取的文件位置和名称 void setup() { Serial.begin(115200); Serial.println(""); if(SPIFFS.begin()){ // 启动闪存文件系统 Serial.println("SPIFFS Started."); } else { Serial.println("SPIFFS Failed to Start."); } //确认闪存中是否有file_name文件 if (SPIFFS.exists(file_name)){ Serial.print(file_name); Serial.println(" FOUND."); } else { Serial.print(file_name); Serial.print(" NOT FOUND."); } //建立File对象用于从SPIFFS中读取文件 File dataFile = SPIFFS.open(file_name, "r"); //读取文件内容并且通过串口监视器输出文件信息 读取时只会读取一个,(char)是指定读取的信息char类型输出 for(int i=0; i<dataFile.size(); i++){ Serial.print((char)dataFile.read()); } //完成文件读取后关闭文件 dataFile.close(); } void loop() { } 3. 删除闪存文件系统的文件 #include <FS.h> String file_name = "/taichi-maker/notes.txt"; //被读取的文件位置和名称 void setup() { Serial.begin(115200); Serial.println(""); if(SPIFFS.begin()){ // 启动闪存文件系统 Serial.println("SPIFFS Started."); } else { Serial.println("SPIFFS Failed to Start."); } //从闪存中删除file_name文件 if (SPIFFS.remove(file_name)){ Serial.print(file_name); Serial.println(" remove sucess"); } else { Serial.print(file_name); Serial.println(" remove fail"); } } void loop() { } 4. 向闪存文件系统中的文件添加信息 #include <FS.h> String file_name = "/taichi-maker/notes.txt"; //被读取的文件位置和名称 void setup() { Serial.begin(9600); Serial.println(""); if(SPIFFS.begin()){ // 启动闪存文件系统 Serial.println("SPIFFS Started."); } else { Serial.println("SPIFFS Failed to Start."); } //确认闪存中是否有file_name文件 if (SPIFFS.exists(file_name)){ Serial.print(file_name); Serial.println(" FOUND."); File dataFile = SPIFFS.open(file_name, "a");// 建立File对象用于向SPIFFS中的file对象(即/notes.txt)写入信息 dataFile.println("This is Appended Info."); // 向dataFile添加字符串信息 dataFile.close(); // 完成文件操作后关闭文件 Serial.println("Finished Appending data to SPIFFS"); } else { Serial.print(file_name); Serial.print(" NOT FOUND."); } } void loop() { } 5.读取闪存文件系统中的文件夹的文件名 #include <FS.h> String file_name = "/taichi-maker/notes.txt"; //被读取的文件位置和名称 void setup() { Serial.begin(9600); Serial.println(""); if(SPIFFS.begin()){ // 启动闪存文件系统 Serial.println("SPIFFS Started."); } else { Serial.println("SPIFFS Failed to Start."); } //确认闪存中是否有file_name文件 if (SPIFFS.exists(file_name)){ Serial.print(file_name); Serial.println(" FOUND."); File dataFile = SPIFFS.open(file_name, "a");// 建立File对象用于向SPIFFS中的file对象(即/notes.txt)写入信息 dataFile.println("This is Appended Info."); // 向dataFile添加字符串信息 dataFile.close(); // 完成文件操作后关闭文件 Serial.println("Finished Appending data to SPIFFS"); } else { Serial.print(file_name); Serial.print(" NOT FOUND."); } } void loop() { } 标签:dataFile,闪存,esp8266,文件系统,file,SPIFFS,println,Serial,name From: https://www.cnblogs.com/fengzhihean/p/16848793.html