esp32 SPIFFS的使用

2023-11-08

读取方法

#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");

}

对文件进行写和读,需要挂载,第一次失败后会自动挂载,时间较长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

esp32 SPIFFS的使用 的相关文章

随机推荐

  • let和const与var的区别

    目录 一 定义 二 let 三 const 四 代码演示 四 循环中let和var声明的循环变量的区别 4 1 事件的绑定 4 2 循环变量存储的数据数值 4 2 1 var声明的循环变量 4 2 2 let声明的循环变量 一 定义 let
  • 快速排序C++(极简)

    原理建议去B站看视频 注意 注意 注意 刚开始移动的顺序真的很重要 可以试试顺序换一下 整个代码就出问题了 我试过的 第11和12行 代码如下 从小到大 为例 include
  • 操作系统-内存管理

    内存的基础知识 内存可存放数据 程序执行前需要先放到内存中才能被CPU处理 缓和CPU与硬盘之间的速度矛盾 如何区分各个程序的数据是放在什么地方 给内存的存储单元编地址 内存地址从0开始 每个地址对应一个存储单元 装入的三种方式 绝对装入
  • 海康威视测试实习生面试经历

    时间 2018 4 25 地点 海康威视二期 面试岗位 测试实习生 面试结果 通过 背景 大三 通信工程 自学了JAVA 还没学到框架 还是前一天看了一点测试的基础知识就去面试了 面试时间好久 技术面半小时 HR面半小时 技术面 面试官一男
  • 2PC(两阶段提交)方案

    XA方案 2PC的传统方案是在数据库层面实现的 如Oracle MySQL都支持2PC协议 为了统一标准减少行业内不必要的对接成本 需要制定标准化的处理模型及接口标准 国际开放标准组织Open Group定义了分布式事务处理模型DTP Di
  • 微信小程序(初学篇)——仿美团外卖

    初识小程序 为它的小巧玲珑所吸引 不由得心血来潮 这不正是用户所需要的吗 既方便快捷 又不占手机内存 所以我下定决心一定要做出一个自己的小程序 然后赚钱 赚钱 赚钱 当然现在只是学习阶段 所以先仿一个高端产品来挑战自我吧 说到高端 自然然而
  • android定位webview元素,appium— Android定位webView里面的UI元素

    Android SDK中的UIAutomator中本身是不支持网页中的UI元素定位 下面介绍几种常用的定位app内部的网页的UI元素的方法 一 使用chrome浏览器调试移动端网页 这是使用最多的一种方法 首页确保自己的手机已经跟电脑连接且
  • list 的forEach 方法 使用lambda 和“”::”关键字

    你是否会疑惑 list 遍历的时候 就这么一行是怎么做到的如此神奇 List
  • 4、Navicat 安装和使用

    一 Navicat 基本介绍 Navicat 是一款图形化 MySQL 管理软件 Navicat 的功能足以满足专业开发人员的所有需求 但是对数据库服务器初学者来说又简单易操作 Navicat 的用户界面 GUI 设计良好 让你以安全且简单
  • Idea 打开 RunDashboard (完整)

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net sheinenggaosuwo article details 86624759 Ho
  • (详细图解)通过VMware安装centOS系统并进行开机配置(小白版)

    一 VMware的版本及选择 VMware ESX Server ESX本身为一操作系统 不需要宿主操作系统 它本身就是一个操作系统 用来管理硬件资源 所有的系统都安装在它的上面 带有远程web管理和客户端管理功能 VMware GSX S
  • 最近用了一个免费的服务器

    最近看到一个免费的服务器阿贝云 声称是永久免费使用的 有免费虚拟主机 也有免费的云服务器 带宽也不错 下载基本峰值能达到10M s
  • Android学习之完整的注册登录Demo(APP端+服务器端)

    因比赛或者项目需要 写了几个小打小闹的APP 有的处于 单机 状态 有的处于 半联网 状态 觉得学习有点操之过急 所以先缓一缓 梳理一下之前所学的知识 将之前做的一些小玩意儿 整理出来写成博客 第一篇便是大部分APP都具有的注册登录系统 代
  • 15款最好用的思维导图(心智图 )工具

    原文地址 http www linuxidc com Linux 2015 01 111807 htm 思维导图也叫心智图 是一项流行的全脑式学习方法 用来表示词 思路 任务或其他与围绕着一个中央关键词或想法项目的示意图 通过径向 图形和非
  • 【控制】基于PID实现水箱控制系统matlab代码

    1 内容介绍 计算机控制技术 课程是电气信息类专业的主干课程之一 实验教学是该课程教学的重要组成部分 本实验项目以水箱液位为控制参量 设计了包括系统硬件 基于Matlab的控制界面 PID控制程序等内容的 计算机控制技术 实验方案 通过教学
  • 二叉树:总结篇(需要掌握的二叉树技能都在这里了)

    二叉树 总结篇 需要掌握的二叉树技能都在这里了 二叉树的理论基础 二叉树的遍历方式 1 深度优先遍历 2 广度优先遍历 求二叉树的属性 1 是否对称 2 求最大深度 3 求最小深度 4 求有多少个节点 5 是否平衡 6 找所有路径 7 递归
  • 剑指offer_第20题_包含min函数的栈_Python

    题目描述 定义栈的数据结构 并在该类型中实现一个能够得到栈中所含最小元素的min函数 时间复杂度应为O 1 理解 什么是栈 算法复杂度 解题思路 思路1 class Solution def init self self stack sel
  • ant.design的input框同时绑定onBlur和onPressEnter事件且方法为同一个方法后的结果

    ant design的input框同时绑定onBlur和onPressEnter事件且方法为同一个方法后的结果 前几天在做项目时碰到了这么一件事 就是在input上面同时绑定onBlur事件和onPressEnter 而且这两个事件还同时使
  • Python爬虫实战案例——第二例

    某某美剧剧集下载 从搜索片名开始 本篇文章主要是为大家提供某些电影网站的较常规的下载电影的分析思路与代码思路 通过爬虫下载电影 我们会从搜索某部影片的关键字开始直到成功下载某一部电影 地址 aHR0cHM6Ly93d3cuOTltZWlqd
  • esp32 SPIFFS的使用

    读取方法 include FS h include SPIFFS h include AutoFile h void File Init SPIFFS begin true 挂载 时间较长 void contentWrite String