當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。