一、写入文件
第1行:包含文件系统库头文件
第5行:调用LittleFS.begin()函数加载文件系统
第10行:调用LittleFS.open(filename,mode)函数打开文件,参数1为文件名,参数2为打开方式,将返回值赋值给File对象
第12行:调用File对象的write(str)函数进行写入,也可以替换为print(str)函数
第15行:写入完成之后调用close()函数关闭文件
第17行:卸载文件系统,释放系统资源
二、读取文件
第1行:包含头文件
第5行:加载文件系统
第10行:以“读”方式打开文件
第13行:输出文件内容
第15行:关闭文件
第17行:卸载文件系统
三、遍历目录
第1行:包含头文件
第5行:加载文件系统
第11行:调用LittleFS.opendir(str)函数打开文件夹,并将返回值赋值给Dir对象
第12行:循环便利整个目录,判断是否存在下一个文件,如果存在则进入循环,否则跳出循环
第16行:卸载文件系统
四、删除文件
第1行:包含头文件
第5行:加载文件系统
第10行:调用LittleFS.remove(path)函数删除文件
五、查看文件系统信息
第10行:创建文件系统信息对象
第11行:读取文件系统信息,保存到信息对象中
第13~18行:打印文件系统信息
六、参考代码
// write_file.h
#include <LittleFS.h>
void write_file() {
// 加载文件系统
if (!LittleFS.begin()) {
Serial.println("文件系统加载失败");
return;
}
// 打开文件
File file = LittleFS.open("/test.txt", "w");
// 写入文件
file.println("Hello World !");
Serial.println("写入完成");
// 关闭文件
file.close();
// 卸载文件系统
LittleFS.end();
}
// read_file.h
#include <LittleFS.h>
void read_file() {
// 加载文件系统
if (!LittleFS.begin()) {
Serial.println("文件系统加载失败");
return;
}
// 打开文件
File file = LittleFS.open("/test.txt", "r");
Serial.println("打开文件成功");
// 输出文件内容
Serial.println("文件内容: " + file.readString());
// 关闭文件
file.close();
// 卸载文件系统
LittleFS.end();
}
// list_dir.h
#include <LittleFS.h>
void list_dir() {
// 加载文件系统
if (!LittleFS.begin()) {
Serial.println("文件系统加载失败");
return;
}
// 遍历目录
Serial.println("========== 目录 ==========");
Dir dir = LittleFS.openDir("/");
while (dir.next()) {
Serial.println("文件: " + dir.fileName());
}
// 卸载文件系统
LittleFS.end();
}
// delete_file.h
#include <LittleFS.h>
void delete_file() {
// 加载文件系统
if (!LittleFS.begin()) {
Serial.println("文件系统加载失败");
return;
}
// 删除文件
if (LittleFS.remove("/test.txt")) {
Serial.println("删除成功");
} else {
Serial.println("删除失败");
}
}
// file_system_info.h
#include <LittleFS.h>
void file_system_info() {
// 加载文件系统
if (!LittleFS.begin()) {
Serial.println("文件系统加载失败");
return;
}
// 读取文件系统信息
FSInfo info;
LittleFS.info(info);
// 打印文件系统信息
Serial.println("剩余空间: " + String(info.totalBytes));
Serial.println("已用空间: " + String(info.usedBytes));
Serial.println("文件名最大长度: " + String(info.maxPathLength));
Serial.println("最大打开文件数: " + String(info.maxOpenFiles));
Serial.println("存储块大小: " + String(info.blockSize));
Serial.println("存储页大小: " + String(info.pageSize));
}