zoukankan      html  css  js  c++  java
  • 玩转小程序之文件读写

    小程序开发中,会有一些场景需要用到文件的读写。在之前的一个项目中,需要分析设备的在持有者手中的运动状态,并通过分析设备上的重力加速计和方向传感器的数据获取设备位置和方位信息,因为数据太多,靠实时上传肯定不现实,于是就决定通过实时写入文件,运行一段时间之后,再去读取文件内容,再去上传。

    官方API (真心简略,谁看得懂啊,手动狗头保命:))

    还是自己来撸吧

    一,写新文件

    建立全局变量fsm。参数data就是我们要写入文件的内容。filePath很关键,如果没写对的话,你根本就找不到它到哪儿去了,也没有权限写。wx.env.USER_DATA_PATH是微信允许用户写入文件的文件夹。 可以用来换行。

    let fsm = wx.getFileSystemManager();

    fsm.writeFile({

      filePath: wx.env.USER_DATA_PATH + '/tmp.txt',

      data: "深蹲数据" + util.formatDate(new Date(), "yyyyMMdd_HHmmss") + " ",

      encoding: 'utf8',

      success: res => {

        console.info(res)

      },

      fail: res => {

        console.info(res)

      }

    })

    二,追加内容到文件

    如果前面已经获取过文件系统管理器fsm,这里就只需要用就够了。同样,data就是要追加到文件的内容。

    let fsm = wx.getFileSystemManager();

    fsm.appendFile({

      filePath: wx.env.USER_DATA_PATH + '/tmp.txt',

      data: '[' + aX + ',' + aY + ',' + aZ + "], ",

      encoding: 'utf8',

      success: res => {

        console.info(res)

      },

      fail: res => {

        console.info(res)

      }

    });

    三,读取保存的文件

    先保存之后才能读取文件,保存之后可以获得临时文件的地址,然后用这个地址作为读取时的参数。读取之后就可以做上传等逻辑了,这里我就省略了。

    let fsm = wx.getFileSystemManager();

    wx.saveFile({

    tempFilePath: wx.env.USER_DATA_PATH + '/tmp.txt',

    success(res) {

      fsm.readFile({

        filePath:res.savedFilePath,

        encoding: 'utf8',

        success:function(res){

          console.log(res.data)

        }

      })

    }

    })

    是不是很简单? 其实整个文件的读写和追加,只要知道保存的地址在哪儿就很好写了,但是官方API中却没有,神不神奇?意不意外?

    码字不易,如果觉得有帮助,一定要给我点赞哟~~

    不然信不信我砸了你家灯,半夜偷亲你 ( ̄ε  ̄) !!!

  • 相关阅读:
    分享:图书馆常用开源软件
    一个 Python 程序每一行的内存占用分析 杨超(星辰海 | 真人图书馆·Python 程序员) 42qu.com
    分享:使用 const_cast<> 改变map中 key 的值
    Examples · Remarkerbe
    内联函数
    什么值得买 » 体感神器?Leap Motion 运动控制器(Kinect的200倍精确度) $69.99预定(直邮中国运费$14.99)Leap Motion外设产品,新鲜物,海淘特价
    HiveClient
    sentry : 前端&后端 的 错误信息统计 张沈鹏(42qu.com·创始人&程序员) 42qu.com
    fabric
    fabric调用代码分析
  • 原文地址:https://www.cnblogs.com/tonyccc/p/11470090.html
Copyright © 2011-2022 走看看