NodeSchool IO练习3

时间:2014-06-28 20:53:20

标签: node.js

我开始学习node.js

我目前正在练习3,我们必须根据文件缓冲区计算新行字符的数量" \ n"

我通过测试人员,但不知何故,如果我创建自己的文件file.txt,我能够获取缓冲区,并打印出字符串,但它无法计算新行的数量(console.log(newLineNum) ))返回0

这是代码

//import file system module 
var fs = require("fs");

//get the buffer object based on argv[2]
var buf = fs.readFileSync(process.argv[2]);

//convert buffer to string
var str_buff = buf.toString();

//length of str_buff
var str_length = str_buff.length;

var numNewLines = 0; 

for (var i = 0; i < str_length; i ++)
{
    if(str_buff.charAt(i) == '\n')
    {
        numNewLines++;
    }
}

console.log(numNewLines);

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您正在尝试获取当前文件的行长度。

来自documentation

  

第一个元素是&#39; node&#39;,第二个元素是名称   的JavaScript文件。

因此,您应该将process.argv[2]替换为process.argv[1]

编辑:

如果要在命令行上传递文件名的参数,如:

node server.py 'test.txt'

你的代码应该没有任何问题。

答案 1 :(得分:0)

你的代码很好。您应该检查您用于输入的文件。