自从开始我的项目以来,我很难读取文件。我尝试了相对路径和绝对路径。尝试创建自己的文件并使用fs.writeFileSync()
输出一个文件。
有趣的是,fs.writeFileSync()
可以工作(文件及其内容被创建),但是fs.readFile()
找不到它创建的文件。
var fs = require('fs');
var path = require('path');
var content;
fs.writeFileSync('output.txt', 'test data', 'utf8');
fs.readFile('output.txt', function read(err, data) {
if (err) {
throw err;
}
content = data;
});
console.log(content);
运行脚本会产生错误:
$ node script.js
undefined
/path/to/project/script.js:6
throw err;
^
Error: ENOENT: no such file or directory, open 'output.txt'
访问权限似乎正确:
$ ls -l
total 104
-rw-r--r-- 1 myusername staff 634 Jan 3 14:24 script.js
-rw-r--r-- 1 myusername staff 8 Jan 3 14:23 output.txt
答案 0 :(得分:3)
在对output.txt
的调用中,fs.readFile()
字符串的前缀是一些(不可打印的)字符,这是造成问题的原因。
在我的编辑器中,我看到以下内容:
fs.readFile('<200e>output.txt', function read(err, data)
“从左到右标记(U + 200E)”