写一个nodejs的管道示例
时间: 2023-10-24 21:07:18 浏览: 140
nodejs例子
好的,下面是一个简单的 Node.js 管道示例:
```javascript
const fs = require('fs');
const zlib = require('zlib');
// 创建可读流
const readableStream = fs.createReadStream('input.txt');
// 创建可写流
const writableStream = fs.createWriteStream('output.txt.gz');
// 创建 gzip 压缩流
const gzip = zlib.createGzip();
// 管道连接
readableStream.pipe(gzip).pipe(writableStream);
console.log('文件压缩完成。');
```
这个示例中,我们使用 `fs` 模块中的 `createReadStream()` 创建一个可读流,将输入文件 `input.txt` 读取到内存中。接着,我们使用 `zlib` 模块中的 `createGzip()` 创建一个 gzip 压缩流,将读取到的数据压缩。最后,我们使用 `fs` 模块中的 `createWriteStream()` 创建一个可写流,将压缩后的数据写入到输出文件 `output.txt.gz` 中。
在这个过程中,我们使用 `pipe()` 方法将可读流和可写流连接起来,gzip 压缩流在管道中充当中间件的角色,将压缩后的数据传递给可写流进行写入。这样,我们就完成了一个简单的管道示例,将数据从一个流传递到另一个流中进行处理。
阅读全文