## 要求
編寫一個程序,執行一個同步的文件系統操作,讀取一個文件,并且在終端(標準輸出stdout)打印出這個文件中的內容的行數。類似于執行?`cat file | wc -l`?這個命令。
所要讀取的文件的完整路徑會在命令行第一個參數提供。
## 提示
要執行一個對文件系統的操作,將會用到 fs 這個 Node 核心模塊。要加載這類核心模塊或者其他的”全局”模塊,可以用下面的方式引入:
~~~
var fs = require('fs')
~~~
這樣就可以通過 fs 這個變量來訪問整個 fs 模塊了。
在 fs 中,所有的同步(或者阻塞)的操作文件系統的方法名都會以 ‘Sync’ 結尾。要讀取一個文件,將需要使用?`fs.readFileSync('/path/to/file')`?方法。這個方法會返回一個包含文件完整內容的 Buffer 對象。
(fs模塊API文檔)[[https://nodejs.org/api/fs.html](https://nodejs.org/api/fs.html)]
Buffer 對象是 Node 用來高效處理數據的方式,無論該數據是 ascii 還是二進制文件,或者其他的格式。Buffer 可以很容易地通過調用?`toString()`?方法轉換為字符串。如:
~~~
var s tr = buf.toString()。
~~~
(Buffer模塊API文檔)[[https://nodejs.org/api/buffer.html](https://nodejs.org/api/buffer.html)]
簡單地計算行數方法,可以使用.split() 分割成子字符串數組,’\n’可以作為分隔符。
## 代碼
~~~
var fs = require('fs');
var res = fs.readFileSync(process.argv[2], 'utf-8');
console.log(res.split('\n').length-1);
~~~