从node.js中的外部文件读取

时间:2018-05-11 21:46:47

标签: javascript node.js file-io

我刚刚开始使用node.js,我一直在寻找计算存储在我的机器上的cpp文件中的行数的方法(与node.js app的目录不同)

我现在尝试从node.js项目中存储的cpp文件中读取文本,使用此函数:  console.log(fs.readFileSync('code.cpp', 'utf8'));

但是我收到了这个错误:

  

fs.js:646返回binding.open(pathModule._makeLong(path),

     

stringToFlags(flags),mode);                    ^

     

错误:ENOENT:没有这样的文件或目录,打开   ' C:\用户\贺拔\ WebstormProjects \ wrfile \ sever.cpp'       在Object.fs.openSync(fs.js:646:18)       at Object.fs.readFileSync(fs.js:551:33)       在对象。 (C:\ Users \用户贺拔\ WebstormProjects \ wrfile \ app.js:5:16)       在Module._compile(module.js:643:30)       at Object.Module._extensions..js(module.js:654:10)       在Module.load(module.js:556:32)       在tryModuleLoad(module.js:499:12)       在Function.Module._load(module.js:491:3)       在Module.require(module.js:587:17)       at require(internal / module.js:11:18)

     

使用退出代码1完成处理

这是解决问题的正确方法吗?如果是这样,我该如何解决这个错误?

提前致谢。

1 个答案:

答案 0 :(得分:2)

根据您获得的错误,您的脚本无法找到该文件。 make 'code.cpp'与脚本位于同一位置

尝试使用path.join(__dirname, 'code.cpp');

var fs = require('fs'),
    path = require('path'),    
    file = path.join(__dirname, 'code.cpp');

console.log(fs.readFileSync(file, 'utf8'));