ENOENT: нет такого файла или каталога при запуске fs.readFile - PullRequest
0 голосов
/ 03 января 2019

С момента запуска проекта у меня возникают проблемы с чтением из файла. Я пробовал как с относительным, так и с абсолютным путем. Попытался создать свой собственный файл и использовать 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

1 Ответ

0 голосов
/ 03 января 2019

В вашем вызове fs.readFile() есть некоторые (непечатаемые) символы с префиксом строки output.txt, которые вызывают проблему.

В моем редакторе я вижу это:

fs.readFile('<200e>⁨output.txt', function read(err, data)

"знак слева направо (U + 200E)"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...