列出文件夹下所有文件名

2024-12-04 17:39:44
143次阅读
0个评论

fs.listFile(Promise异步返回)

listFile(path: string, options?: ListFileOptions): Promise<string[]>

列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Promise异步返回。

原子化服务API:从API version 11开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
path string 文件夹的应用沙箱路径。
options ListFileOptions 文件过滤选项。默认不进行过滤。

返回值:

类型 说明
Promise<string[]> Promise对象。返回文件名数组。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { fileIo as fs, Filter, ListFileOptions } from '@kit.CoreFileKit';
let listFileOption: ListFileOptions = {
  recursion: false,
  listNum: 0,
  filter: {
    suffix: [".png", ".jpg", ".jpeg"],
    displayName: ["*abc", "efg*"],
    fileSizeOver: 1024
  }
}
fs.listFile(pathDir, listFileOption).then((filenames: Array<string>) => {
  console.info("listFile succeed");
  for (let i = 0; i < filenames.length; i++) {
    console.info("fileName: %s", filenames[i]);
  }
}).catch((err: BusinessError) => {
  console.error("list file failed with error message: " + err.message + ", error code: " + err.code);
});

fs.listFile(Callback异步返回)

listFile(path: string, options?: ListFileOptions, callback: AsyncCallback<string[]>): void

列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Callback异步回调。

原子化服务API:从API version 11开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
path string 文件夹的应用沙箱路径。
options ListFileOptions 文件过滤选项。默认不进行过滤。
callback AsyncCallback<string[]> 异步列出文件名数组之后的回调。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { fileIo as fs, Filter, ListFileOptions } from '@kit.CoreFileKit';
let listFileOption: ListFileOptions = {
  recursion: false,
  listNum: 0,
  filter: {
    suffix: [".png", ".jpg", ".jpeg"],
    displayName: ["*abc", "efg*"],
    fileSizeOver: 1024
  }
};
fs.listFile(pathDir, listFileOption, (err: BusinessError, filenames: Array<string>) => {
  if (err) {
    console.error("list file failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("listFile succeed");
    for (let i = 0; i < filenames.length; i++) {
      console.info("filename: %s", filenames[i]);
    }
  }
});

fs.listFileSync(同步)

listFileSync(path: string, options?: ListFileOptions): string[]

以同步方式列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤。

原子化服务API:从API version 11开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
path string 文件夹的应用沙箱路径。
options ListFileOptions 文件过滤选项。默认不进行过滤。

返回值:

类型 说明
string[] 返回文件名数组。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

import { fileIo as fs, Filter, ListFileOptions} from '@kit.CoreFileKit';
let listFileOption: ListFileOptions = {
  recursion: false,
  listNum: 0,
  filter: {
    suffix: [".png", ".jpg", ".jpeg"],
    displayName: ["*abc", "efg*"],
    fileSizeOver: 1024
  }
};
let filenames = fs.listFileSync(pathDir, listFileOption);
console.info("listFile succeed");
for (let i = 0; i < filenames.length; i++) {
  console.info("filename: %s", filenames[i]);
}
收藏00

登录 后评论。没有帐号? 注册 一个。