uniapp读取安卓手机文件
functhion readJsonByFile(fileNamePath) {
// 只能用于安卓 导入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')
// 安卓11以下 /sdcard/自己的文件夹/1.txt
// 安卓11 建议用 /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
}
uniapp写入安卓手机文件
function writeJsonToFile(json, fileNamePath) {
// 只能用于安卓 导入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')
// 安卓11以下 /sdcard/自己的文件夹/1.txt
// 安卓11 建议用 /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
}
uniapp读取目录下所有文件
function getDirList(fileNamePath){
return new Promise((resolve,reject)=>{
let arr = [];
plus.io.resolveLocalFileSystemURL(fileNamePath,function(entry) {
var directoryReader = entry.createReader();
directoryReader.readEntries(
function(entries){
for (var i = 0; i < entries.length; i++) {
// console.log("文件信息",entries[i].name);
arr.push(entries[i].name);
}
console.log(arr);
resolve(arr);
},function (e) {
console.log('访问目录失败');
reject(e)
});
}, function (e) {
console.log('访问指定目录失败');
reject(e)
});
})
}
由于是异步读取,返回有延迟所以写一个Promise
调用的时候使用链式调用
this.getDirList('/sdcard/Pictures').then(res=>{
console.log(res);
console.log(res[0]);
})
标签:uniapp,const,读取,java,安卓,console,txt,log
From: https://www.cnblogs.com/tn666/p/16933740.html