readFileSync不适用于我.我在设置为字符串之后尝试打印输入但很奇怪

Nic*_*ury 1 javascript readfile node.js

我是Node.js的新手,我正在努力学习.我有一个简单的任务来执行以下操作:-read一个文件(提供购买第一个命令行参数). - 打印文件中的行数. - 我正在使用readFileSync方法.

代码正在运行,但输出很奇怪.我尝试打印每个语句,我认为问题在于读取数据.任何人都可以告诉我我哪里错了?

    function numLines(){
      var fs = require('fs');
      var num = 0;
      var contents = fs.readFileSync(process.argv[0]);
      console.log(contents.toString());

      return num;
    }
Run Code Online (Sandbox Code Playgroud)

忽略return语句,请关注readFileSync.在打印内容时,打印的文本中充满了奇怪的字符,就像读取错误一样

Sci*_*ter 7

  var contents = fs.readFileSync(process.argv[0]);
Run Code Online (Sandbox Code Playgroud)

process.argv[0]实际上,它不是传递给脚本的第一个参数.这是命令node.第二项是您的脚本的文件名,传递给它node,假设您将其称为node myscript.js somefile.txt.你需要得到第三个项目:process.argv[2]

请参阅https://nodejs.org/api/process.html#process_process_argv