uniapp写入和读取本地文件

2023-05-26 0 201

APP中大多统计数据都是以内存的形式取走邻近地区,而那些统计数据在应用领域增设介面,去除内存或是去除统计数据后单厢消亡。假如须要在去除统计数据或是内存后更要留存这类文本,则须要换一类形式存储统计数据。比如说,将统计数据取走邻近地区文档。

可借助H5plus的native,导入java类展开处置。

加载文档:

function readJsonByFile(fileNamePath) { // 根本无法用作Android 导入java类 const File = plus.android.importClass(java.io.File) const BufferedReader = plus.android.importClass(java.io.BufferedReader) const FileReader = plus.android.importClass(java.io.FileReader) const FileWriter = plus.android.importClass(java.io.FileWriter) // Android11下列 /sdcard/他们的文档夹/1.txt // Android11 提议用 /storage/emulated/0/Download/他们的文档夹/1.txt // 加载txt文档 readFile (“/sdcard/修止符/实用性.json”) const readFile = (fileName) => { const readFr = new File(fileName) try { const reader = new BufferedReader(new FileReader(readFr)) let txt let retxt = let flag = true while (flag) { txt = reader.readLine() // 加载文档 if (txt == null) { flag = false break } retxt = retxt + txt } return retxt } catch (e) { console.log(e) return } } //const settingJsonPath = /sdcard/wisdomApp/settingJson.txt const json = readFile(fileNamePath) return json}

载入文档:

function writeJsonToFile(json, fileNamePath) { // 根本无法用作Android 导入java类 const File = plus.android.importClass(java.io.File) const BufferedReader = plus.android.importClass(java.io.BufferedReader) const FileReader = plus.android.importClass(java.io.FileReader) const FileWriter = plus.android.importClass(java.io.FileWriter) // Android11下列 /sdcard/他们的文档夹/1.txt // Android11 提议用 /storage/emulated/0/Download/他们的文档夹/1.txt // 写文档 writeFile(“/sdcard/修止符/实用性.json”,{“主键”:”值”}) const writeFile = (fileName, res) => { try { // 不加根目录创建文档(即用相对地址)的话directory.exists()这个判断一值都是false const n = fileName.lastIndexOf(/) if (n !== -1) { const fileDirs = fileName.substring(0, n) console.log(fileDirs) const directory = new File(fileDirs) if (!directory.exists()) { const a = directory.mkdirs() // 不存在创建目录 console.log(a) } } const file = new File(fileName) if (!file.exists()) { file.createNewFile() // 创建文档 } const fos = new FileWriter(fileName, false) fos.write(res) fos.close() return true } catch (e) { console.log(e) return false } } // const settingJsonPath = /sdcard/wisdomApp/settingJson.txt // 载入文档 writeFile(fileNamePath, json) return true}

须要注意到是,Android6以上的环境,uniapp应用领域须要增设权限。假如增设了还不能存取文档,则可以检查一下app的应用领域权限,是否开启了存储权限

uniapp写入和读取本地文件
举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务