鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小

电子说

1.3w人已加入

描述

1.获取打印文件大小

/**
   * 获取打印文件大小
   */
  static getFileSize(byteNum: number) {
    if (byteNum < 0) {
      return "shouldn't be less than zero!";
    } else if (byteNum < 1024) {
      return `${byteNum.toFixed(3)}B`;
    } else if (byteNum < 1048576) {
      return (byteNum / 1024).toFixed(3) + "KB";
    } else if (byteNum < 1073741824) {
      return (byteNum / 1048576).toFixed(3) + "MB";
    } else {
      return (byteNum / 1073741824).toFixed(3) + "GB";
    }
  }

2.遍历文件名称

/**
   * 遍历文件名称
   */
  static async itFileName(pathDir: string) {
    let info = new StringBuilder();
    info.append('当前目录:').append(pathDir).append('n');
    // 查看文件列表
    let options = {
      recursion: false,
      listNum: 0,
      filter: {
        // suffix: ['.png', '.jpg', '.txt'], // 匹配文件后缀名为'.png','.jpg','.txt'
        // displayName: ['test*'], // 匹配文件全名以'test'开头
        fileSizeOver: 0, // 匹配文件大小大于等于0
        lastModifiedAfter: new Date(0).getTime() // 匹配文件最近修改时间在1970年1月1日之后
      }
    }
    let files = fs.listFileSync(pathDir, options);
    for (let i = 0; i < files.length; i++) {
      const fileName = files[i]
      const filePath = pathDir + "/" + fileName;
      let stat = await fs.stat(filePath);
      info.append(fileName).append('-').append(this.getFileSize(stat.size)).append('n')
    }
    LogUtils.i(info.toString());
  }
  更多鸿蒙技术课+mau123789是v!!

鸿蒙OS

3.调用方法

鸿蒙OS开发更多内容↓点击HarmonyOS与OpenHarmony技术
鸿蒙技术文档开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。或+mau123789学习,是v喔
await FileUtils.itFileName(AppUtils.getApp().filesDir)

4.控制台输出

鸿蒙OS

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分