我需要获取文件夹的大小,用于扫描筛选使用。用了好几种方法都没起作用。
用plus.io整机递归扫描一次要70秒,筛选掉隐藏文件也要30秒,文件夹的时间是创建时间,无法筛选,所以想办法在获取文件夹大小上筛选。
一开始用的plus.io 的getMetaData的方法,获得的文件夹尺寸都不对。Andriod这么大的文件夹才176b。
然后用njs的 file.length()方法获得的尺寸只是文件的尺寸
再查了java有获取文件夹尺寸的方法,如下:
官方写法是这样的
import java.io.File;
import org.apache.commons.io.FileUtils;
public class Main {
public static void main(String[] args) {
long size = FileUtils.sizeOfDirectory(new File("C:/test"));
System.out.println("Size: " + size + " bytes");
}
}
然后我转到native.js中这么写 没什么效果,大神帮忙看看哪里写错了啊?
var File = plus.android.importClass("java.io.File")
var FileUtils = plus.android.importClass("org.apache.commons.io.FileUtils")
let file = new File(fullpath)
let size = FileUtils.sizeOfDirectory(file)
1 个回复
胖虎777 (作者)
这问题卡了一天了,会不会是安卓本身没有这个包文件啊?