使用fs从C驱动器读取文件时出错

时间:2015-07-29 13:37:54

标签: javascript node.js

我使用以下代码从我的C盘读取txt文件,我收到错误

fs = require('fs')


    var path = require('path');

    var filePath = path.join(__dirname, '‪C://nodeTest//test.txt');
    fs.readFile(filePath, 'utf8', function (err,data) {
        if (err) {
            return console.log(err);
        }

    });

另外我尝试使用相同的错误

fs.readFile('‪C://nodeTest//test.txt', 'utf8', function (err,data) {
        if (err) {
            return console.log(err);
        }

    });

错误是

Error: ENOENT, open 'C:\nodeTest\test']
  errno: -4058,
  code: 'ENOENT',

我的项目位于以下路径

C:\Users\C015869\WebstormProjects\myApp\server.js

2 个答案:

答案 0 :(得分:1)

  • 确保文件存在fs.existsSync('C://nodeTest//test.txt')
  • 确保您拥有管理员权限。如果您在Windows上以管理员身份运行命令行
  • 使用单斜杠:var filePath ='C:/nodeTest/test.txt';或var filePath = path.join(__ dirname,'test.txt')

答案 1 :(得分:1)

您只能从网络服务器上阅读。如果文件不在webserver目录或子目录中的某个位置,则无法读取它。如果webserver目录是nodeTest,那么只需使用:

fs = require('fs')

var path = require('path');

var filePath = path.join(__dirname, '‪test.txt');
fs.readFile(filePath, 'utf8', function (err,data) {
    if (err) {
        return console.log(err);
    }

});