uniapp下的apk读写文件实现

这篇博客介绍了如何在Android环境中使用JavaScript进行文件操作,包括新建、写入、删除和读取文件。示例代码展示了在指定路径下创建、删除和读取文本文件的函数,并在Mumu模拟器上进行了测试验证。提供的方法适用于学习和工作场景,确保数据安全。
摘要由CSDN通过智能技术生成

工作中需要将软件下的某些数据固化,用到了以下方法
新建 native_file.js

//创建文件及删除文件
const dir = '/native';
const pathUrl = '/store_data.txt';
const environment = plus.android.importClass("android.os.Environment");
const BufferedReader = plus.android.importClass("java.io.BufferedReader");
const FileReader = plus.android.importClass("java.io.FileReader");
const FileWriter = plus.android.importClass("java.io.FileWriter");
const File = plus.android.importClass("java.io.File");
//文件夹根目录
const sdRoot = environment.getExternalStorageDirectory();  


// 写
export function whiteFile(res){
	return new Promise((resolve,reject) => {
		// 方便间隔(保留源文件)
		res = JSON.stringify(res)+','
		try {
		    let directory = new File(sdRoot + dir);
		    if(!directory.exists()) {
				 //创建目录
		        directory.mkdirs()
		    }
		    let file = new File(sdRoot + dir + pathUrl)
			//创建文件
		    if(!file.exists()) {
		        file.createNewFile()
		    }
			// todo 是否保留源文件内容,true保留 ,false不保留
		    let fos = new FileWriter(sdRoot + dir + pathUrl, false);
		    fos.write(res)
		    fos.close()
		    resolve(true)
		} catch(e) {
		   reject(false)
		}
		reject(false)
	})
}
// 删
export function deleteFile(){
	return new Promise((resolve,reject) => {
		let file = new File(sdRoot + dir + pathUrl)
		if(file.exists() && file.isFile()) {
		    resolve(file.delete())
		} else {
		  reject(false)
		}
	})
}
// 读
export function readFile(){
    return new Promise((resolve,reject) => {
    
    let readFr = new File(sdRoot + dir + pathUrl)
    let txt = ''
    try{
        var reader = new BufferedReader(new FileReader(readFr))
        let txt = reader.readLine()
        resolve(txt)
    } catch(e){
        reject("no have the file")
    }
	})
}

使用:

import {whiteFile,deleteFile,readFile} from '@/common/native_file.js';
export default {
	methods: {
		test() {
			/* readFile().then(res => {
				console.log(res)
			})*/
			whiteFile("saxawwsdf_fsdahfkjsdah_sss").then(res => {
				console.log(res)
			})	
		},
	}		
}
	

测试用的mumu模拟器
在这里插入图片描述
可以在文件管理中看到该文件
在这里插入图片描述
最后:
这里提供了最基础的方法,该加密加密,该干嘛干嘛
另外:不要乱搞,提供方法仅为学习工作,进去踩缝纫机与本人无关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vace cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值