读取方法
#include "FS.h"
#include "SPIFFS.h"
#include "AutoFile.h"
void File_Init(){
SPIFFS.begin(true);//挂载,时间较长
}
void contentWrite(String fileName, char data[]){
//打开/建立 并写入数据
File file = SPIFFS.open("/test.txt", FILE_WRITE);
if (file)
{
Serial.println("打开/建立 根目录下 test.txt 文件!");
}
file.write((uint8_t *)data, strlen(data));
file.close();
//重命名文件
// if (SPIFFS.rename("/test.txt", "/retest.txt"))
// {
// Serial.println("test.txt 重命名为 retest.txt !");
// }
}
void contentRead(String fileName){
//读取文件数据
File file = SPIFFS.open(fileName, FILE_READ);
if (file)
{
Serial.print("文件内容是:");
while (file.available())
{
Serial.print((char)file.read());
// main_content_read(fileName, (char)file.read());
}
}
//打印SPIFFS文件系统信息
// Serial.printf("SPIFFS文件系统总大小是: %d (字节)\n", SPIFFS.totalBytes());
// Serial.printf("SPIFFS文件系统已用大小是: %d (字节)\n", SPIFFS.usedBytes());
}
.h文件
#ifndef __AUTOFILE_H__
#define __AUTOFILE_H__
#include <Arduino.h>
void File_Init();
void contentWrite(String fileName, char data[]);
class AutoFileListener
{
private:
/* data */
public:
virtual void getContent(String fileName, char ch) = 0;
};
void contentRead(String fileName);
#endif
main文件中
void setup()
{
Serial.begin(9600);
Serial.println();
//挂载文件系统
File_Init();
contentWrite("text.txt", "nihao xiexie");
contentRead("/test.txt");
}
对文件进行写和读,需要挂载,第一次失败后会自动挂载,时间较长。