笔记来源:uniapp获 取Android目录 uniapp读取本地文件_mob64ca14144dde的技术博客_51CTO博客,详情请跳转查看。
// 初始化加班文件/读取文件 initReadOverTimeFile:function(){ /** 相关参考文档:https://blog.51cto.com/u_16213700/8759214 文档(https://uniapp.dcloud.net.cn/api/file/file.html#savefile)查:uni.getFileInfo https://www.html5plus.org/doc/zh_cn/io.html#plus.io.PRIVATE_DOC */ try{ var pathUrl='/storage/emulated/0/overtime.text'; // 安卓10以下路径地址 pathUrl=plus.io.convertLocalFileSystemURL("_downloads/")+'overtime.text'; // 兼容安卓10+(通用) console.log("打印地址:"+pathUrl); plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) { //请求地址文件 '/storage/emulated/0/config.txt'为根目录 '/config.txt'为/storage/Android/data/io.dcloud.HBuilder(包名)/documents/config.js fs.root.getFile(pathUrl,{ create: true , // 当文件不存在时创建 },fileEntry => { fileEntry.file(function(file) { let fileReader = new plus.io.FileReader(); // new一个可以用来读取文件的对象fileReader fileReader.readAsText(file, "utf-8"); //读文件的格式 fileReader.onerror= e=>{ //读文件失败 console.log("获取文件失败", fileReader.error); plus.nativeUI.toast("获取文件失败,请重启应用", { background: "rgba(0, 0, 0, 1)", }); return; }; fileReader.onload = e=>{ //读文件成功 console.log("读取文件成功"); let txtData = e.target.result; // console.log(txtData); console.log("读取文件成功:"+txtData); }; }); },error => { console.log("2新建获取文件失败", error); plus.nativeUI.toast("获取文件失败,请重启应用", { background: "rgba(0, 0, 0, 1)", }); return; }); }, function (e) { console.log( "Request file system failed: " + e.message); }); }catch(err){ console.log(err); } }, // 写文件操作 writeOverTimeFile:function(writeMsg){ try{ var pathUrl='/storage/emulated/0/overtime.text'; // 安卓10以下路径地址 pathUrl=plus.io.convertLocalFileSystemURL("_downloads/")+'overtime.text'; // 兼容安卓10+(通用) console.log("打印地址:"+pathUrl); plus.io.requestFileSystem(plus.io.PRIVATE_DOC, fs =>{ fs.root.getFile(pathUrl, { create: true }, fileEntry =>{ fileEntry.file(file => { fileEntry.createWriter(writer => { console.log( fs.root.toURL(),'路径111'); plus.nativeUI.showWaiting("正在保存信息"); // writer.seek(seek); 可操作指定文职 //覆盖文件 writer.write(writeMsg); // 整个文件重写 writer.onerror = function() { console.log("4写入文件失败", writer.error.message); plus.nativeUI.closeWaiting(); plus.nativeUI.toast("修改信息失败,请重新操作", { background: "rgba(255, 255, 255, 0.6)", }); return; }; writer.onsuccess = function() { //填写文件成功 plus.nativeUI.closeWaiting(); plus.nativeUI.toast("保存成功", { background: "rgba(255, 255, 255, 0.6)", }); resolve("1"); }; }, error => { console.log("3创建creactWriter失败", error); plus.nativeUI.toast("保存文件失败,请重新操作", { background: "#ffa38c", }); return; }); }); }, error => { console.log("2获取文件失败", error); plus.nativeUI.toast("保存文件失败,请重新操作", { background: "#ffa38c", }); return; }); }, e => { console.log("1请求文件系统失败", e.message); plus.nativeUI.toast("请求系统失败,请重新操作", { background: "#ffa38c", }); return; }); } catch(err){ console.log(err); } },
浙公网安备 33010602011771号