MST

星途 面试题库

面试题:Node.js 中 Stream 实现文件压缩基础

在 Node.js 中,简述使用 Stream 实现文件压缩的基本步骤。假设要压缩一个文本文件,写出核心代码片段,需包含创建可读流、可写流以及管道连接等关键操作。
27.1万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
  1. 基本步骤
    • 创建可读流(fs.createReadStream),用于从源文件读取数据。
    • 创建可写流(fs.createWriteStream),用于将压缩后的数据写入目标文件。
    • 使用zlib模块中的压缩方法(如createGzipcreateDeflate)创建压缩转换流。
    • 通过管道(pipe)将可读流、压缩转换流和可写流依次连接起来,实现数据从源文件读取、压缩处理并写入目标文件的过程。
  2. 核心代码片段
const fs = require('fs');
const zlib = require('zlib');

// 创建可读流
const readableStream = fs.createReadStream('input.txt');
// 创建压缩转换流
const gzip = zlib.createGzip();
// 创建可写流
const writableStream = fs.createWriteStream('output.txt.gz');

// 通过管道连接
readableStream.pipe(gzip).pipe(writableStream);