android资源文件下的图片绝对路径,Android获取本地指定文件,图片视频的绝对路径、大小、修改时间、名称...

直接贴代码,希望能给一些人灵感(.vue文件),

getMediaFiles () {//获取本地文件

let environment = plus.android.importClass("android.os.Environment");

let sdRoot = environment.getExternalStorageDirectory();//获取手机根目录

this.filePath = {image:[],video:[]};//过滤到的文件信息

this.mapFile(sdRoot);//递归过滤

console.log('this.filePath :>> ', this.filePath);//过滤结果

},

mapFile (path) {// 遍历目录下的所有文件和文件夹

let fileObj = plus.android.importClass("java.io.File");

let files = plus.android.invoke(path,"listFiles");

let len = files.length;

for(let i=0; i

let file = files[i];

// 过滤隐藏文件以及名字叫“Android”的文件夹(自己可以自定义过滤)

if(!plus.android.invoke(file,"isHidden") && plus.android.invoke(file,"getName")!='Android'){// 非隐藏文件执行操作

if(plus.android.invoke(file,"isDirectory")){// 判断是文件还是文件夹

this.mapFile(new fileObj(plus.android.invoke(file,"getAbsolutePath")));//文件夹递归

} else {

let size = this.getFileSize(file)

if (plus.android.invoke(file,"getName").endsWith('.jpg')||plus.android.invoke(file,"getName").endsWith('.png')) {//获取jpg、png文件(可自定义修改)

console.log('file name :>> ', plus.android.invoke(file,"getName"),'; size :>> ', size);

this.filePath.image.push({

path:plus.android.invoke(file,"getAbsolutePath"),//文件绝对路径

name:plus.android.invoke(file,"getName"),//文件名称,包含后缀

size:size,//文件大小

lastModified:plus.android.invoke(file,"lastModified")//文件最后修改时间戳

})

} else if (plus.android.invoke(file,"getName").endsWith('.mp4')||plus.android.invoke(file,"getName").endsWith('.mp3')) {//获取mp3、mp4文件(可自定义修改)

console.log('file name :>> ', plus.android.invoke(file,"getName"),'; size :>> ', size);

this.filePath.video.push({

path:plus.android.invoke(file,"getAbsolutePath"),

name:plus.android.invoke(file,"getName"),

size:size,

lastModified:plus.android.invoke(file,"lastModified")

})

}

}

}

}

},

getFileSize (file) {// 读文件大小

let FileInputStream = plus.android.importClass("java.io.FileInputStream");

let fileSize = new FileInputStream(file);

let size = fileSize.available();

// 单位转换

let fileSizeString;

if(size == 0){

fileSizeString = "0B";

}else if(size < 1024){

fileSizeString = size + "B";

}else if(size < 1048576){

fileSizeString = (size/1024).toFixed(2) + "KB";

}else if (size < 1073741824){

fileSizeString = (size/1048576).toFixed(2) + "MB";

}else{

fileSizeString = (size/1073741824).toFixed(2) + "GB";

}

return fileSizeString

},

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值