文档管理中心
我的
您当前正在浏览新版开发者文档中心,目录分类和层级有所调整。点击左侧当前文档分类名称前的“☰”图标,可切换文档分类。 了解新版目录
指南与API参考指南系统安全Enterprise Data Guard Kit(企业数据保护服务)文件分级管控启动文件扫描任务

启动文件扫描任务

场景介绍

Enterprise Data Guard Kit为应用提供公共路径和指定目录的扫描能力,获取对应目录下的文件列表。

接口说明

详细接口说明可参考接口文档。

展开
接口名 描述
startFileScanTask(type: CommonDirScanType, callback: ScanFileCallback, batchNum?: number): void 通过Callback的方式,扫描公共目录并返回结果。
startFileScanTask(path: string, callback: ScanFileCallback, batchNum?: number): void 通过Callback的方式,扫描指定目录并返回结果。

开发步骤

  1. 导入模块。

    收起
    自动换行
    深色代码主题
    复制
    1. import { hilog } from '@kit.PerformanceAnalysisKit';
    2. import { fileGuard } from '@kit.EnterpriseDataGuardKit';
  2. 初始化FileGuard对象guard,并且声明扫描结果回调函数。

    • 按照文件类型扫描公共空间文件,查看打印结果。

      收起
      自动换行
      深色代码主题
      复制
      1. const TAG: string = 'FileGuard_Scan';
      2. const DOMAIN: number = 0x0000;
      3. /**
      4. * 启动公共目录文件扫描任务
      5. */
      6. function startFileScanTaskUnderCommonDir() {
      7. let guard: fileGuard.FileGuard = new fileGuard.FileGuard();
      8. let onReceiveFileList: (files: string[]) => void = (files: Array<string>) => {
      9. files.forEach((value: string) => {
      10. hilog.info(DOMAIN, TAG, `Succeeded in getting file: ${value}.`);
      11. })
      12. };
      13. let onCompleteScanTask: (count: number) => void = (count: number) => {
      14. hilog.info(DOMAIN, TAG, `Succeeded in getting count: ${count}.`);
      15. };
      16. let scanFileCallback: fileGuard.ScanFileCallback = {
      17. onReceiveFileList: onReceiveFileList,
      18. onTaskCompleted: onCompleteScanTask
      19. };
      20. guard.startFileScanTask(fileGuard.CommonDirScanType.MEDIA_ONLY, scanFileCallback);
      21. }
    • 扫描公共空间指定路径下的文件,查看打印结果。

      收起
      自动换行
      深色代码主题
      复制
      1. const TAG: string = 'FileGuard_Scan';
      2. const DOMAIN: number = 0x0000;
      3. // ...
      4. /**
      5. * 启动指定目录文件扫描任务
      6. */
      7. function startFileScanTaskUnderSpecifiedDir() {
      8. let guard: fileGuard.FileGuard = new fileGuard.FileGuard();
      9. let path: string = '/data/service/el2/test';
      10. let onReceiveFileList: (files: string[]) => void = (files: Array<string>) => {
      11. files.forEach((value: string) => {
      12. hilog.info(DOMAIN, TAG, `Succeeded in getting file: ${value}.`);
      13. })
      14. };
      15. let onCompleteScanTask: (count: number) => void = (count: number) => {
      16. hilog.info(DOMAIN, TAG, `Succeeded in getting count: ${count}.`);
      17. };
      18. let scanFileCallback: fileGuard.ScanFileCallback = {
      19. onReceiveFileList: onReceiveFileList,
      20. onTaskCompleted: onCompleteScanTask
      21. };
      22. guard.startFileScanTask(path, scanFileCallback);
      23. }