javascript - 节点 FS.existsSync 在存在的文件上返回 false
问题描述
我目前正在尝试在运行 fs.appendFile() 之前找出文件是否存在,以便确定是否需要在文档的开头插入一些文本,或者是否需要插入换行符。
我编写了一个函数,当我在电子之外调试它(这是针对电子应用程序)时,fs.existsSync 进程按预期返回 true 或 false。但是,当我在应用程序中运行它时,它只返回 false,无论它是否确实存在。
function foo(){
const USER = process.env['USERPROFILE'].split(path.sep)[2];
const fpath = `C:/Users/${USER}/OneDrive/dir/filename.txt`;
let text = "text";
const exists = fs.existsSync(fpath);
console.log(exists); // false no matter what
if(!exists){
text = "foo";
}else{
text = "bar";
}
fs.appendFile(fpath, myob_import_text, (err) => { // Only ever adds "foo" to the document.
if(err) throw err;
});
}
我认为这与在电子环境中运行与仅在节点环境中运行有关,但我不知道如何解决这个问题,因此将不胜感激。
解决方案
推荐阅读
- scala - 加入大量数据帧会导致堆栈溢出错误
- autocomplete - Mac 上 PyCharm 的自动或代码完成
- vba - 如何设置每周同一时间重复外出?
- python - 在 Python 中使用 canon_cr3 库将 .CR3 文件转换为 .JPG
- python-3.x - 用 scikit-learn 替换一堆 if-else 条件
- git - 提交的更改不反映使用 PhpStorm 在 GIT 中的实际更改
- java - 分配布尔值会返回布尔值,但分配整数不会。为什么?
- git - 我如何使用特定分支的 Visual Studio 代码获得最新的 git
- amazon-web-services - 通过 vpc 对等将 rds 数据从一个帐户移动到同一区域的另一个帐户?
- java - Java 泛型 - 为什么是新钱
(4.0) === 新钱 (4.0) 相等?