玩转 ESP32 + Arduino (二十一) SPIFFS文件系统

本文介绍了ESP32如何使用SPIFFS文件系统,包括SPIFFS的相关函数,如SPIFFS.begin(), SPIFFS.open, SPIFFS.format(), SPIFFS.exists(), SPIFFS.remove(), SPIFFS.rename()等。此外,还详细阐述了File类的函数,如file.print(), file.println(), file.find(), file.findUntil(), file.close()等,并通过简单测试展示了FILE_WRITE和FILE_APPEND模式的区别。" 112993346,10537146,使用Electron进行Chrome远程调试,"['Electron开发', '前端调试', 'Chrome DevTools']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 文件系统 SPIFFS

ESP32 自带SPIFFS.h库用来管理文件系统
注意: 此文件系统是没用文件层次的 比如你建立一个 /doc/test.txt 那这个txt的名字就是 doc/test, 而不是在doc目录下有个 test.txt

#include "SPIFFS.h"

二. SPIFFS相关函数

1. SPIFFS.begin(); //开启SPIFFS

参数:
- formatOnFail : 打开失败就格式化 (bool)
- *basePath :  根目录 
- maxOpenFiles  : 最大可打开文件数量

返回值: 打开成功或者失败

bool fs::SPIFFSFS::begin(bool formatOnFail = false, const char *basePath = "/spiffs", uint8_t maxOpenFiles = (uint8_t)'\n')
SPIFFS.begin();

2. SPIFFS.open //创建或打开文件

参数:
- path : 文件路径
- mode : 打开方式, 可选:
                       FILE_READ (读文件) 
                       FILE_WRITE (写文件) 
                       FILE_APPEND (添加内容)
返回值: 一个File类型的对象, 其实就是打开的文件对象

File FS::open(const char* path, const char* mode){}

我们可以看到 SPIFFS.open其实是继承自 FS类的

File file = SPIFFS.open("/test.txt", FILE_WRITE);
注意:

File重载了 Boolean运算符, 如果文件打开了 file就为true

if(!file){
     Serial.println("There was an error opening the file for writing");
     return;
}

关于File类型的函数放在下一节

3. SPIFFS.format() //文件系统格式化

SPIFFS.format();

4. SPIFFS.exists("/test.txt") //判断有没有某个文件

SPIFFS.exists("/test.txt"
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值