-
path
<string> | <Buffer> | <URL> -
mode
<integer> 默认值:fs.constants.F_OK
。 -
callback
<Function>-
err
<Error>
-
测试用户对 path
指定的文件或目录的权限。
mode
参数是一个可选的整数,指定要执行的可访问性检查。
1.检查文件是否存在于当前目录中
const fs = require('fs')
const path = require('path')
//检查文件是否存在于当前目录中
fs.access('package.json', fs.constants.F_OK, err => {
if(err) {
console.log('package.json不存在于当前目录中')
return
}
console.log('package.json存在于当前目录中')
})
fs.access('index.js', fs.constants.F_OK, err => {
if(err) {
console.log('index.js不存在于当前目录中')
return
}
console.log('index.js存在于当前目录中')
})
运行结果:
image.png
2.检查文件是否可读
const fs = require('fs')
const path = require('path')
fs.access('index.js', fs.constants.R_OK, err => {
console.log(`index.js${err? '不可读':'可读'}`)
})
执行结果:
image.png
3.检查文件是否可写
const fs = require('fs')
const path = require('path')
fs.access('index.js', fs.constants.W_OK, err => {
console.log(`index.js${err? '不可写':'可写'}`)
})
执行结果:
image.png
4.检查文件是否存在于当前目录中、以及是否可写。
const fs = require('fs')
const path = require('path')
fs.access('package.json', fs.constants.F_OK | fs.constants.W_OK, err => {
if(err) {
//有错误,说明此文件不存在或不可读
if(err.code === 'ENOENT') {
console.error(err)
console.error('package.json不存在于当前目录中')
return
}else {
console.error('package.json不可读')
return
}
}
console.log('package.json可读')
})
fs.access('index.js', fs.constants.F_OK | fs.constants.W_OK, err => {
if(err) {
//有错误,说明此文件不存在或不可读
if(err.code === 'ENOENT') {
console.error(err)
console.error('index.js不存在于当前目录中')
return
}else {
console.error('index.js不可读')
return
}
}
console.log('index.js可读')
})
执行结果:
image.png
5.检查文件夹是否存在
const fs = require('fs')
const path = require('path')
//检查文件夹是否存在
fs.access('dir', fs.constants.F_OK, err => {
if(err) {
console.error('dir文件夹不存在')
return
}
console.error('dir文件夹存在')
})
执行结果:
image.png
网友评论