3闪存文件系统基本操作

1. 通过程序向闪存文件系统写入信息

核心代码


  File dateFile = SPIFFS.open(file_name, "w"); //建立File对象用于写入信息

#include<FS.h>

String file_name = "/taichi-maker/notes.text";

void setup() {
  Serial.begin(9600);
  Serial.println("");

  Serial.println("SPIFFS format start");
  SPIFFS.format();
  Serial.println("SPIFFS format finish");

  if (SPIFFS.begin()) { //启动SPIFFS
    Serial.println("SPIFFS Started");
  }
  else {
    Serial.println("SPIFFS Failed to Start.");
  }

  File dateFile = SPIFFS.open(file_name, "w"); //建立File对象用于写入信息
  dateFile.println("Hello IOT World !");
  dateFile.close();
  Serial.println("Finished Writing data to SPIFFS");
}

void loop() {

}

2. 通过程序从闪存文件系统读取信息

核心代码

File dateFile = SPIFFS.open(file_name, "r"); //建立File对象用于读取信息

#include<FS.h>

String file_name = "/taichi-maker/notes.text";

void setup() {
  Serial.begin(9600);
  Serial.println("");

  if (SPIFFS.begin()) { //启动SPIFFS
    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.println("Not Found");
  }

  File dateFile = SPIFFS.open(file_name, "r"); //建立File对象用于读取信息
  for(int i=0;i<dateFile.size();i++){
    Serial.print((char)dateFile.read());
  }
  dateFile.close();
  Serial.println("Finished reading data to SPIFFS");
}

3. 通过程序向闪存文件系统文件添加信息

核心代码

 File dateFile = SPIFFS.open(file_name, "a"); //建立File对象用于添加信息

#include<FS.h>

String file_name = "/taichi-maker/notes.text";

void setup() {
  Serial.begin(9600);
  Serial.println("");

  if (SPIFFS.begin()) { //启动SPIFFS
    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 dateFile = SPIFFS.open(file_name, "a"); //建立File对象用于添加信息
    dateFile.println("This is appended Info");
    dateFile.close();
    Serial.println("Finished appending data to SPIFFS");
  }
  else {
    Serial.print(file_name);
    Serial.println("Not Found");
  }
}

void loop() {

4. 通过程序读取目录内容

核心代码

Dir dir = SPIFFS.openDir(folder_name);

  while (dir.next()) {
    Serial.println(dir.fileName());
  }

#include<FS.h>

String file_name = "/taichi-maker/notes.text";
String folder_name = "/taichi-maker";

void setup() {
  Serial.begin(9600);
  Serial.println("");

  if (SPIFFS.begin()) { //启动SPIFFS
    Serial.println("SPIFFS Started");
  }
  else {
    Serial.println("SPIFFS Failed to Start.");
  }

  File dataFile = SPIFFS.open(file_name, "w");// 建立File对象用于向SPIFFS中的file对象(即myFile.txt)写入信息
  dataFile.println("Hello Taichi-Maker.");    // 向dataFile写入字符串信息
  dataFile.close();                           // 完成文件写入后关闭文件
  Serial.println(F("Finished Writing data to SPIFFS"));

  Dir dir = SPIFFS.openDir(folder_name);

  while (dir.next()) {
    Serial.println(dir.fileName());
  }
}

void loop() {

}

5. 从闪存文件系统中删除文件

核心代码

SPIFFS.remove(file_name)

#include<FS.h>

String file_name = "/taichi-maker/notes.text";


void setup() {
  Serial.begin(9600);
  Serial.println("");

  if (SPIFFS.begin()) { //启动SPIFFS
    Serial.println("SPIFFS Started");
  }
  else {
    Serial.println("SPIFFS Failed to Start.");
  }

  if (SPIFFS.remove(file_name)) { //删除file_name文件
    Serial.print(file_name);
    Serial.println("Remove Sucess");
  }
  else {
    Serial.print(file_name);
    Serial.println("Remove Fail");
  }

}

void loop() {

}

猜你喜欢

转载自blog.csdn.net/qq_61134394/article/details/128376224