在应用中下载了一个压缩文件,并解压到应用沙箱目录/data/storage/el2/base/haps/entry/files/subAppResource,通过Device File Brower可以看到解压后的文件夹,然后使用下面的代码去计算该文件夹下的所有文件大小。
static async getFileSize(path: string) {
let totalSize: number = 0;
try {
const access = await fs.access(path);
if (access) {
const stat = await fs.stat(path);
if (stat.isDirectory()) {
const files = await fs.listFile(path, { recursion: true });
for (let file of files) {
const stat = await fs.stat(file);
totalSize += stat.size;
}
} else {
totalSize = stat.size;
}
}
} catch (e) {
console.error(e);
}
return totalSize;
}
调用上面方法的代码如下:
const subAppDir = `${this.context.filesDir}/subAppResource`;
const subAppSize: number = await AppFileUtils.getFileSize(subAppDir);
在执行fs.access方法时报错:
13900002 No such file or directory
参考示例如下: