該代碼將讀取行的文件和打印數量
var fs = require('fs')
FS是一個節點模塊做文件操作。該行將創建一個fs
變量,該變量可以訪問fs模塊中的所有導出函數。它就像一個對象,可以訪問所有公共函數。它像一個c #include
聲明或java import
聲明。
var filename = process.argv[2]
argv
是包含在終端/命令提示符處指定的參數列表的數組。所以這條線會從終端讀取filename
。
var buf = fs.readFileSync(filename)
這條線將創建一個變量buf
和保存一個名爲filename
進去文件的內容。內容不會保存爲字符串,因此需要在下一行進行轉換。
var str = buf.toString();
buf
具有由缺省原型到其上的方法/函數toString()
。此方法返回轉換爲字符串的變量,因此str
將以原始文件的內容作爲字符串。
var count = str.split('\n').length
str
已分割方法默認原型。它將分隔符作爲參數並返回一個字符串數組。所以str.split('\n')
將返回一個由'\ n'分隔的行的數組,然後在該數組上調用length
以返回其長度。
如下
var lines = str.split('\n')
var count = lines.length
最後count
減少1假定最後的空白行存在,你可以把它分成兩個階段。 console.log
將登錄到終端/命令提示符。
console.log(count - 1)
從所提供的參數中讀取文件路徑,打開文件並將其作爲字符串讀取。計算文件中的行數。 – RacerNerd