stream

作者: cici_Gao | 来源:发表于2017-08-09 15:38 被阅读0次

    从输入流读取一部分数据,然后将这一部分读取到的数据写入到输出流中,这样能够避免fs.readFile()和fs.writeFile()将Buffer全部写到内存中的问题。

    文件的读取速度一般要比写入速度快,如果writeStream.write(chunk)返回false,表示流还在输出流的缓存中,还没有写入到文件中,可以调用readSteam.pasuse()方法将暂停读取,等writeSteam将缓存区中的数据都写入到文件中时,会触发drain事件,这时候再调用readStream.resume()方法继续读取数据。

    varfs = require('fs');

    var   readStream = fs.createReadStream(' buffer_image.js ');

    var writeStream = fs.createWriteStream(' big.js ');

    readStream.on ( 'data' , function( chunk ) {   

          if(  writeStream.write ( chunk )  ==false){  

                         console.log(' is pause ')

                          writeStream.pause();

              }

    });

    readStream.on('end',function(){

                 writeStream.end()

    });

    writeStream.on('drain',function(){

                  console.log('is resume')

                  readStream.resume()

    })

    相关文章

      网友评论

          本文标题:stream

          本文链接:https://www.haomeiwen.com/subject/sirqhxtx.html