javascript - readFileSync 不适用于我。将输入设置为字符串后,我尝试打印输入,但很奇怪

标签 javascript node.js readfile

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

代码正在运行,但输出很奇怪。我尝试打印每条语句,我认为问题出在数据读取上。谁能告诉我哪里错了?

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

      return num;
    }

忽略返回语句,请只关注 readFileSync。打印内容时,打印出来的文字全是奇怪的字符,好像读错了一样

最佳答案

  var contents = fs.readFileSync(process.argv[0]);

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

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

关于javascript - readFileSync 不适用于我。将输入设置为字符串后,我尝试打印输入,但很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29797461/

相关文章:

c - 从文件中读取行不返回全部

javascript - 在回调函数之外访问node.js中readline和fs解析的数据

javascript - Javascript 中的纪念品

javascript - 我们如何进行动态范围界定以在 NodeJs 中实现事务跟踪?

c - TCL 和 C 中的读/写 FIFO,垃圾输出

mysql - 如何在 Node.js 中发送多个响应

javascript - 是否有事件监听器来检查是否已将 childElements 添加到元素中

javascript - 错误 :prompt is not defined. 尝试生成电话号码时出现错误

javascript - 我如何惰性评估 javascript 对象上的字段?

javascript - 无法弄清楚为什么 angularJS 模块无法加载