当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


node.js Stream readable.read()用法及代码示例


可读的.read()方法是Stream模块的内置应用程序编程接口,用于从内部缓冲区读取数据。如果未指定编码或流在对象模式下工作,则它将作为缓冲区对象返回数据。

用法:

readable.read( size )

参数:此方法接受单个参数大小,该大小指定要从内部缓冲区读取的字节数。


返回值:如果使用此方法,则此方法之后读取的数据将显示在输出中,如果缓冲区中不存在数据,则返回null。

下面的示例说明了Node.js中read.read()方法的使用:

范例1:

// Node.js program to demonstrate the      
// readable.read() method   
   
// Include fs module 
const fs = require("fs"); 
   
// Constructing readable stream 
const readable = fs.createReadStream("input.txt"); 
   
// Instructions for reading data 
readable.on('readable', () => { 
  let chunk; 
   
  // Using while loop and calling 
  // read method 
  while (null !== (chunk = readable.read())) { 
   
    // Displaying the chunk 
    console.log(`read:${chunk}`); 
  } 
}); 
console.log("done");

输出:

done
read:hello

这里,在上面的示例中,从缓冲区读取的数据为“ hello”,因此将其返回。

范例2:

// Node.js program to demonstrate the      
// readable.read() method   
  
// Include fs module 
const fs = require("fs"); 
  
// Constructing readable stream 
const readable = fs.createReadStream("input.txt"); 
  
// Instructions for reading data 
readable.on('readable', () => { 
  let chunk; 
  
  // Using while loop and calling 
  // read method with parameter 
  while (null !== (chunk = readable.read(1))) { 
  
    // Displaying the chunk 
    console.log(`read:${chunk}`); 
  } 
}); 
console.log("done");

输出:

done
read:h
read:e
read:l
read:l
read:o

在上面的示例中,说明了数据的大小,因此每一步仅从文件“input.txt”中读取一个字节,该文件包含数据“ hello”。

参考: https://nodejs.org/api/stream.html#stream_readable_read_size



相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | Stream readable.read() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。