Javascript 如何检查路径中的每个文件是否可以读取

Javascript 如何检查路径中的每个文件是否可以读取,javascript,node.js,fs,readdir,Javascript,Node.js,Fs,Readdir,我正在尝试读取特定路径的内容。为此,我使用了以下代码: 代码1: const contentsOfPersonalFolder = fs.readdirSync(rootPathToPersonal); try { fs.accessSync(path, fs.constants.R_OK); logger.info('The directory: ', path, 'can be read'); } catch (err) { logger.error('The director

我正在尝试读取特定路径的内容。为此,我使用了以下代码:

代码1

const contentsOfPersonalFolder = fs.readdirSync(rootPathToPersonal);
try {
  fs.accessSync(path, fs.constants.R_OK);
  logger.info('The directory: ', path, 'can be read');
} catch (err) {
  logger.error('The directory: ', path, 'can not be read due inaccessibility');
}
但我事先知道,我没有访问权限来阅读前一行代码返回的某些内容。 要检查我是否具有读取某些文件的访问权限,我将使用以下代码

代码2

const contentsOfPersonalFolder = fs.readdirSync(rootPathToPersonal);
try {
  fs.accessSync(path, fs.constants.R_OK);
  logger.info('The directory: ', path, 'can be read');
} catch (err) {
  logger.error('The directory: ', path, 'can not be read due inaccessibility');
}
现在的问题是,code1中的代码将返回指定路径中所有可用文件的数组。若这些文件中有一个不是 由于读权限保护而可访问,然后它将抛出,程序将抛出

我想要实现的是迭代代码1中指定路径中的所有可用文件,然后使用代码2中的代码和 如果文件可以读取,我想做一些逻辑,如果不能读取,我会做其他事情


请告诉我如何实现此目的。

您可以使用fs.access检查用户权限