一、封装操作文件io.js
export default {storage(addr,data) {plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量fs => {// 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象fs.root.getFile(addr, {create: true // 文件不存在则创建},fileEntry => {// 文件在手机中的路径//console.log(fileEntry.fullPath)fileEntry.createWriter(writer => {// 写入文件成功完成的回调函数writer.onwrite = e => {console.log('写入成功');};// 向文件中写入数据writer.write(JSON.stringify(data));});},e => {console.log('getFile failed: ' + e.message);});},e => {console.log(e.message);});},read(addr) {let that = this;return new Promise((resolve, reject) => {plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS,fs => {fs.root.getFile(addr, {create: false},fileEntry => {fileEntry.file(function(file) {console.log('文件大小:' + file.size + '-- 文件名:' + file.name);//创建读取文件对象let fileReader = new plus.io.FileReader();//以文本格式读取文件数据内容fileReader.readAsText(file, 'utf-8');//文件读取操作完成时的回调函数fileReader.onloadend = function(evt) {resolve(evt.target.result)//console.log("提取的服务器地址:", sURL);};});},e => {reject(e)console.log(e)});},e => {reject(e);console.log(e.message);});})}}
二、使用
在需要使用的地方引入该文件。
IO.read("文件名称.json").then(res => { // res 读取的文件内容}).catch(err => { // 找不到该文件就写入一个空白文件。IO.storage("名称.json", [])console.log(err, "err")})
来源地址:https://blog.csdn.net/start1018/article/details/128588936