getDirectorySize(path:string):Number{
let size = 0
class ListFileOption { //制定筛选规则
public recursion: boolean = true; //true为获取该文件夹下所有文件,包括子目录文件
public listNum: number = 0; //获取文件的数量,为0时获取所有文件
}
let option = new ListFileOption()
let filenames = fs.listFileSync(path,option)
for(let i =0;i<filenames.length;i++){
size += fs.statSync(path+filenames[i]).size
}
return size
}
功能场景描述及使用场景
HarmonyOS暂时没有直接获取文件夹大小的接口,但是在windows系统获取文件夹大小的时候,对于一些文件很多的文件夹,它的大小不会一下打印出来,而是不断的累加变化,所以可以推断是用遍历的方式来获取文件夹大小的,HarmonyOS提供了listFileSync,可以直接获取文件夹下的所有文件,不需要我们再写递归遍历
使用的核心API
首先导入模块
核心代码解释
实现效果