如何使用节点js检查文件中的几行代码

时间:2019-05-14 05:32:20

标签: javascript node.js

我试图逐行读取文件中的行,但是我不确定如何使用nodejs打印文件中的行数。

data.js

console.log("123")

console.log("123")


console.log("123")



console.log("123")

file.js

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('./data.js')
});
lineReader.on('line', function (line) {
  console.log('Line from file:', line);
});

我得到了这个输出

  

文件行:console.log(“ 123”)文件行:
  来自文件的行:console.log(“ 123”)来自文件的行:
  来自文件的行:来自文件的行:   console.log(“ 123”)从文件开始的行:从开始的行   文件:行从文件:行从   文件:console.log(“ 123”)

但是我想要使用节点js文件中有多少行代码

3 个答案:

答案 0 :(得分:2)

var i;
var count = 0;
require('fs').createReadStream(process.argv[2])
  .on('data', function(chunk) {
    for (i=0; i < chunk.length; ++i)
      if (chunk[i] == 10) count++;
  })
  .on('end', function() {
    console.log(count);
  });

答案 1 :(得分:2)

let count = 0;
var lineReader = require('readline').createInterface({
   input: require('fs').createReadStream('./data.js')
});
lineReader.on('data', line => {
   for (i=0; i < line.length; ++i) if (line[i] == 10) count++;
})
.on('end', () => {
   console.log(count);
})

通过循环文件中的行,您可以用这种方式计算行数。另外,您也可以查看此link以获得更多详细信息

答案 2 :(得分:0)

const fs = require('fs')

fs.readFile('source', 'utf8', (err, data) => {
    console.log(data.split('\n').length)
})

首先导入fs库,然后读取文件并通过分割数据来获取长度