zoukankan      html  css  js  c++  java
  • nodejs stream 创建读写流

    const fs = require("fs");
    const { Writable, Readable, Duplex, Transform } = require("stream");
    
    // 双向流
    const inoutStream = new Duplex({
    
      // 获取写入的数据
      write(chunk, encoding, callback) {
        console.log(chunk.toString());
        callback();
      },
    
      // 一直读直到null为止
      read(size) {
        this.push(String.fromCharCode(this.currentCharCode++));
        if (this.currentCharCode > 90) this.push(null);
      },
    });
    
    inoutStream.currentCharCode = 65;
    process.stdin.pipe(inoutStream).pipe(inoutStream);
    
    
    const sizeStream = new Transform({
      readableObjectMode: true,
      writableObjectMode: true,
    
      // 转换流,可以改变数据
      transform(chunk, encoding, callback) {
        this.push(chunk.toString() + `
     // size(${chunk.length})`);
        callback();
      },
    });
    
    const outStream = new Writable({
      write(chunk, encoding, callback) {
        console.log(chunk.toString("utf-8"));
        callback();
      },
    });
    
    fs.createReadStream("./x.txt").pipe(sizeStream).pipe(outStream);
    

    See also:

  • 相关阅读:
    fidller 打断点
    随笔
    HTML标签介绍
    补充9.27----9.28
    html5_______9.26
    9.14
    9.13笔记
    9.12笔记
    CSS样式的引用
    html5_______9.10
  • 原文地址:https://www.cnblogs.com/ajanuw/p/14281526.html
Copyright © 2011-2022 走看看