Node.js 第八章- Stream(流)
阿新 • • 發佈:2018-12-26
一,Stream 是一個抽象介面,Node物件有很多物件實現這個介面。例如,對http伺服器發起請求的request物件就是一個Stream,還有stdout(標準輸出)
二,Node.js Stream有四種流型別:
1. Readable - 刻度操作
2. Writable - 可寫操作
3. Duplex - 可讀可寫操作
4. Transform - 操作被寫入資料,然後讀出結果。
所有的Stream物件都是EventEmitter的例項。
常用事件:
1. data - 當有資料可讀時觸發。
2.end - 沒有更多的資料可讀時觸發。
3.error - 在接收和寫入過程中發生錯誤時觸發。
4.finish - 所有資料已被寫入到底層系統時觸發。
二,從流中讀取資料
建立stream.txt檔案,如下:
三,寫入流
建立一個js檔案,output.js
四,管道流
管道提供了一個輸出流到輸入流的機制。
通常我們用於從一個流中獲取資料並將資料傳遞到另外一個流中。
五,鏈式流
鏈式是通過連線輸出流到另外一個流 並建立多個流操作鏈的機制。
鏈式流一般用於管道操作。
接下去用鏈式流和管道來壓縮和解壓檔案。
建立一個compress.js
以上是壓縮檔案。
接下來,解壓上面的檔案。
建立decompress.js