文件是否存在

2024-12-04 14:46:53
145次阅读
0个评论

fs.access(校验权限)

access(path: string, mode?: AccessModeType): Promise

检查文件是否存在,使用Promise异步返回。

参数:

参数名 类型 必填 说明
path string 文件应用沙箱路径。
mode12+ AccessModeType 文件校验的权限。

返回值:

类型 说明
Promise Promise对象。返回布尔值,表示文件是否存在。

错误码:

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

错误码ID 错误信息
401 1. 未指定必须的参数 2. 参数类型与接口定义不匹配
13900020 非法参数值

示例:

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + "/test.txt";
fs.access(filePath).then((res: boolean) => {
  if (res) {
    console.info("file exists");
  } else {
    console.info("file not exists");
  }
}).catch((err: BusinessError) => {
  console.error("access failed with error message: " + err.message + ", error code: " + err.code);
});

fs.access(校验位置)

access(path: string, mode: AccessModeType, flag: AccessFlagType): Promise

检查文件是否在本地,或校验相关权限,使用Promise异步返回。如果文件在云端,或者其它分布式设备上,返回false。

参数:

参数名 类型 必填 说明
path string 文件应用沙箱路径。
mode12+ AccessModeType 文件校验的权限。
flag12+ AccessFlagType 文件校验的位置。

返回值:

类型 说明
Promise Promise对象。返回布尔值,true,表示文件存在本地且具有相关权限;false,表示文件不存在本地或不具有相关权限。

错误码:

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

错误码ID 错误信息
401 1. 未指定必须的参数 2. 参数类型与接口定义不匹配
13900020 非法参数值

示例:

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + "/test.txt";
fs.access(filePath, fs.AccessModeFlag.EXIST, fs.AccessFlagType.LOCAL).then((res: boolean) => {
  if (res) {
    console.info("file exists");
  } else {
    console.info("file not exists");
  }
}).catch((err: BusinessError) => {
  console.error("access failed with error message: " + err.message + ", error code: " + err.code);
});

fs.access(Callback异步回调)

access(path: string, callback: AsyncCallback): void

检查文件是否存在,使用callback异步回调。

参数:

参数名 类型 必填 说明
path string 文件应用沙箱路径。
callback AsyncCallback 异步检查文件是否存在的回调,如果存在,回调返回true,否则返回false。

错误码:

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

错误码ID 错误信息
401 1. 未指定必须的参数 2. 参数类型与接口定义不匹配
13900020 非法参数值

示例:

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + "/test.txt";
fs.access(filePath, (err: BusinessError, res: boolean) => {
  if (err) {
    console.error("access failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    if (res) {
      console.info("file exists");
    } else {
      console.info("file not exists");
    }
  }
});

fs.accessSync(同步回调)

accessSync(path: string, mode?: AccessModeType): boolean

以同步方法检查文件是否存在

参数:

参数名 类型 必填 说明
path string 文件应用沙箱路径。
mode12+ AccessModeType 文件校验的权限。

返回值:

类型 说明
boolean 返回true,表示文件存在;返回false,表示文件不存在。

错误码:

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

错误码ID 错误信息
401 1. 未指定必须的参数 2. 参数类型与接口定义不匹配
13900020 非法参数值

示例:

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + "/test.txt";
try {
  let res = fs.accessSync(filePath);
  if (res) {
    console.info("file exists");
  } else {
    console.info("file not exists");
  }
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error("accessSync failed with error message: " + err.message + ", error code: " + err.code);
}

fs.accessSync(同步校验位置)

accessSync(path: string, mode: AccessModeType, flag: AccessFlagType): boolean

以同步方法检查文件是否在本地,或校验相关权限。如果文件在云端,或者其它分布式设备上,返回false。

参数:

参数名 类型 必填 说明
path string 文件应用沙箱路径。
mode12+ AccessModeType 文件校验的权限。
flag12+ AccessFlagType 文件校验的位置。

返回值:

类型 说明
boolean 返回true,表示文件存在本地且具有相关权限;返回false,表示文件不存在本地或不具有相关权限。

错误码:

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

错误码ID 错误信息
401 1. 未指定必须的参数 2. 参数类型与接口定义不匹配
13900020 非法参数值

示例:

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + "/test.txt";
try {
  let res = fs.accessSync(filePath, fs.AccessModeFlag.EXIST, fs.AccessFlagType.LOCAL);
  if (res) {
    console.info("file exists");
  } else {
    console.info("file not exists");
  }
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error("accessSync failed with error message: " + err.message + ", error code: " + err.code);
}
收藏00

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