小程序本地文件读、写、追加数据操作,以及修改文件内容

news/2024/6/18 21:09:25 标签: 小程序

在这里插入图片描述

小程序系统文件管理器 FileSystemManager

要操作/读取本地文件,首先需要创建文件或文件夹,然后再对文件进行读写操作;

首先创建文件

FileSystemManager.writeFile
可直接创建文件并写入内容
定义文件路径,此路径在读写操作时保持一致

const path = `${wx.env.USER_DATA_PATH}/hello.txt`
const fs = wx.getFileSystemManager()
fs.writeFile({
  filePath: path,
  data: 'some text or arrayBuffer',
  encoding: 'utf8',
  success(res) {
    console.log(res)
  },
  fail(res) {
    console.error(res)
  }
})

// 同步接口
try {
  const res = fs.writeFileSync(
    path,
    'some text or arrayBuffer',
    'utf8'
  )
  console.log(res)
} catch(e) {
  console.error(e)
}

读取文件

FileSystemManager.readFile
读取刚刚创建的文件

fs.readFile({
  filePath: path,
  encoding: 'utf8',
  position: 0,
  success(res) {
    console.log(res.data)
  },
  fail(res) {
    console.error(res)
  }
})

// 同步接口
try {
  const res = fs.readFileSync(path, 'utf8', 0)
  console.log(res)
} catch(e) {
  console.error(e)
}

在原有文件追加内容

FileSystemManager.appendFile

fs.appendFile({
  filePath: path,
  data: 'some text',
  encoding: 'utf8',
  success(res) {
    console.log(res)
  },
  fail(res) {
    console.error(res)
  }
})

// 同步接口
try {
  fs.appendFileSync(path, 'some text', 'utf8')
} catch(e) {
  console.error(e)
}

修改文件内容

小程序提供的接口没有类似 updateFile 的接口操作去修改原有文件的数据,所以要修改文件内容可以使用一个中转文件来最终保存修改后的内容
比如先创建一个文件 a.txt
对 a.txt 文件写入内容之后,再创建一个 b.txt 文件,读取出 a 文件的内容进行修改,然后再写入 b 文件,最终达到修改的操作


http://www.niftyadmin.cn/n/5283138.html

相关文章

阿贝云云服务器

最近,我有幸获得了阿贝云提供的免费云服务器,阿贝云_免费云服务器、高防服务器、虚拟主机、免费空间、免费vps主机服务商!并在使用过程中有了一些深刻的体验和感受。在这篇博客中,我将分享我对阿贝云免费云服务器的使用感受和评价。 首先&am…

docker笔记2-docker 容器

docker 容器的运行 docker run 镜像名:版本标签: 创建 启动容器 docker run 镜像名 ,如果镜像不存在,则会在线下载镜像。 注意事项: 容器内的进程必须处于前台运行状态,不能后台(守护进程运行…

创投课程第六期 | One More Thing About Web3

最后一期课程,协会邀请了来自Mask Network的管理合伙人——Cecilia,于北京时间12月22日(周五)晚上21:00 PM-22:00 PM进行线上分享,届时将与所有对Web3投资、创业心怀热忱的朋友们共同探讨《One More Thing About Web3》这个激动人心的话题。 …

vue前端上传图片到阿里云OSS,超详细上传图片与视频教程

vue前端直传图片与视频到阿里云OSS 1. 简介与日常使用2. 为什么要这么干?是因为我司后端不行吗???(确实!)3. vue前端直传的操作4. 如何上传到阿里OSS指定文件夹呢? 1. 简介与日常使用 阿里云…

Flink实时电商数仓(五)

FlinkSQL的join Regular join普通join,两条流的数据都时存放在内存的状态中,如果两条流数据都很大,对内存压力很大。Interval Join: 适合两条流到达时间有先后关系的;一条流的存活时间短,一条流的存活时间长。Lookup …

初识QT(上篇):What Qt

初识QT(上篇):What Qt 前言 & 说明前言说明 初识QT1.1 QT的what1. 介绍2. 发展历程3. QT架构的主要内容4.QT的常用模块 1.2 QT的 why1. QT的核心机制 下篇笔记链接 前言 & 说明 前言 前言: 之前说要share的qt相关知识&am…

QT6 C++ 开发指南

QT6 C 开发指南 1 认识QT1.1 QT的简介1.2 QT 的安装 2 GUI 程序设计基础2.1 GUI程序结构2.2可视化UI设计2.2.3 信号与槽函数2.2.4 信号与槽的使用 2.5 QT Creator 使用技巧 3 QT 框架功能概述 1 认识QT 1.1 QT的简介 省略 1.2 QT 的安装 省略 注:至于安装的开发…

贪吃蛇(九)限制蛇身回头

贪吃蛇中,只能向一个方向前进,改变方向的时候,不可以回头,这是游戏规则。 上节中我们实现了自由的游走,但是方向可以向后走动,本节对此问题进行解决。 实现思路 判断当前用户即将想改变的方向和当前方向的…