Node有哪些常用 Stream流?分别什么时候使用?
                                             参考答案:
                                         
                                        Node.js 中的 Stream(流)是一个抽象接口,许多对象都实现了这个接口。Stream 提供了四种流类型,分别是:
- 
Readable Stream(可读流):用于从数据源读取数据。例如,当你需要从文件或网络连接中读取数据时,可以使用可读流。常见的可读流有:
fs.ReadStream:用于读取文件。http.IncomingMessage:用于读取 HTTP 响应。zlib.createReadStream:用于读取压缩文件。
 - 
Writable Stream(可写流):用于将数据写入目标。例如,当你需要将数据写入文件或网络连接时,可以使用可写流。常见的可写流有:
fs.WriteStream:用于写入文件。http.ClientRequest:用于写入 HTTP 请求。zlib.createWriteStream:用于写入压缩文件。
 - 
Duplex Stream(双向流):同时具有可读和可写的能力。例如,
net.Socket和fs.ReadStream(在某些情况下)都是双向流。 - 
Transform Stream(转换流):操作被写入的数据,然后读出结果。转换流是一个特殊的双向流,它在写入和读取之间进行了某种形式的转换。例如,
zlib.createDeflate和zlib.createInflate就是转换流,它们用于数据的压缩和解压缩。 
在选择使用哪种流时,主要取决于你的需求。如果你需要从数据源读取数据,那么使用可读流;如果你需要将数据写入目标,那么使用可写流;如果你需要同时进行读写操作,那么使用双向流;如果你需要对数据进行某种转换,那么使用转换流。