列出文件夹下所有文件名
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