工作中需要将软件下的某些数据固化,用到了以下方法
新建 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模拟器
可以在文件管理中看到该文件
最后:
这里提供了最基础的方法,该加密加密,该干嘛干嘛
另外:不要乱搞,提供方法仅为学习工作,进去踩缝纫机与本人无关