【发布时间】:2021-11-24 13:26:33
【问题描述】:
我有一个 node.js 函数,它使用 fs.access 检查文件是否存在,是否可读和可写:
function StackOverFlowFunction() {
try {
fs.accessSync(`file://${__dirname}/config/config.ini`, fs.constants.F_OK | fs.constants.R_OK | fs.constants.W_OK);
} catch (err) {
console.log(err);
}
尽管文件存在,
{ Error: ENOENT: no such file or directory, access 'file:///home/callcenter1/BookGenerator/config/config.ini'
at Error (native)
at Object.fs.accessSync (fs.js:248:11)
at Object.fs.accessSync (ELECTRON_ASAR.js:420:27)
at getConfig (/home/callcenter1/BookGenerator/main.js:12:12)
at Object.<anonymous> (/home/callcenter1/BookGenerator/main.js:18:10)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
errno: -2,
code: 'ENOENT',
syscall: 'access',
path: 'file:///home/callcenter1/BookGenerator/config/config.ini' }
我在 Ubuntu 终端上使用了“打开链接”功能,它用 gedit 成功打开了文件。
有什么问题?
编辑 1:
我几乎可以肯定这条路是对的:
【问题讨论】:
-
您是否检查其他文件,例如。在同一个文件夹中?我认为你走错了路。
-
我看起来很奇怪
file://${__dirname}/config/config.ini。你不能这样用吗:${__dirname}/config/config.ini
标签: javascript node.js electron