`

05.流Stream

阅读更多
  1. 所有Stream对象同时也是EventEmitter的实例,Stream对象常用的事件有
    事件名 触发条件
    data 当有数据可读时触发
    end 没有数据可读时触发
    error 在读取或写入过程中发生错误时触发
    finish 所有数据已被写入到底层系统时触发
  2. 从流读取数据
    读取数据readData.js代码如下
    var fs = require('fs');
    
    var readerStream = fs.createReadStream('input.txt');
    readerStream.setEncoding('UTF-8');
    
    var data = '';
    
    readerStream.on('data',function(chunk){
        data += chunk;
    });
    
    readerStream.on('end',function(){
    	console.log(data);
    });
    
    readerStream.on('error',function(err){
    	console.log('自定义错误日志:',err.stack);
    });
    
    console.log('程序执行完毕');
     运行结果
    >node readData.js
    程序执行完毕
    这里是被测试的文件;
       hello,this is a test file.
    
    
     
  3. 向流写数据
    写数据writeData.js代码如下
    var fs = require('fs');
    
    var writerStream = fs.createWriteStream('output.txt');
    
    writerStream.write('真是的,这么好的天气没出门sss','utf-8');
    writerStream.end();
    
    writerStream.on('finish',function(){
      console.log('写入完成');
    });
    
    writerStream.on('error',function(err){
    	console.log('自定义错误日志:',err.stack);
    });
    
    console.log('程序执行完毕');
     运行结果如下
    >node Stream.js
    程序执行完毕
    写入完成
    
     
  4. 管道与链式流
      pipeStream.js代码如下
    var fs = require('fs');
    var zlib = require('zlib');
    
    var readerStream = fs.createReadStream('input.txt');
    var writeCompressGz = fs.createWriteStream('compress.txt.gz');
    
    writeCompressGz.on('finish',function(){
    	fs.createReadStream('compress.txt.gz')
             .pipe(zlib.createGunzip())
             .pipe(fs.createWriteStream('compress.txt'));
    });
    
    readerStream.pipe(zlib.createGzip()).pipe(writeCompressGz);
    
    console.log('程序执行完毕');
    
分享到:
评论

相关推荐

    最全pmt中的stream_type总结

    在探讨PMT(Program Map Table)中的`stream_type`时,我们主要关注的是不同编码格式在传输流(Transport Stream, TS)或节目流(Program Stream, PS)中的标识方式。这些标识码对于解复用器来说至关重要,因为它们...

    05.C# 知识回顾 - 序列化.pdf

    在编程领域,特别是在C#语言的应用中,序列化是一个重要的概念,它涉及到对象状态信息转换为字节流的过程,...以上内容是对“05.C# 知识回顾 - 序列化.pdf”文件中提及序列化相关知识点的详细解释,希望对你有所帮助。

    PMT的stream_type字段.doc

    PMT是数字电视广播系统中用于描述一个特定节目内所有流的映射表,它包含了该节目中所有ES(Elementary Stream)的相关信息,包括它们的PID(Packet Identifier)以及流类型(stream_type)。其中,`stream_type`字段...

    用自动化构建工具增强你的工作流程!基于流stream的自动化构建工具Gulp+Grunt项目构建

    ├─05.自动化构建工具Grunt_默认任务,任务高效说明.avi ├─06.自动化构建工具Grunt_任务执行同步说明.avi ├─07.自动化构建工具Grunt_js语法检查.avi ├─09.自动化构建工具Grunt_实现watch监视任务实现自动打包...

    sqs-readable-stream:从 Amazon Simple Queue Service (SQS) 队列创建可读的 Node.JS 流

    SQS可读流 从 Amazon Simple Queue Service (AWS SQS) 队列创建可读 Node.JS 流。 默认情况下,它将永远等待队列中的项目,它会重试错误并适当... apiVersion : '2012-11-05' , region : 'us-east-1' , accessKeyId

    值类型与引用类型理论内容.part05.rar

    学习流(stream)的概念和IO操作、文件的读写和传输。 掌握多线程编程、文件的操作和程序集的相关概念,学习反射和属性。 第二阶段教学内容安排(400课时) 课程名称 课程内容 培训目的 ASP.Net2.0、ADO...

    java_IO.rar

    9. **IO FAQ(05_IO_faq.avi)**:常见问题解答,可能涵盖异常处理、流的关闭、缓冲区大小选择等问题,帮助解决实际开发中遇到的问题。 10. **总结(10_总结.avi)**:最后的视频是对整个IO系列的回顾,总结关键...

    Android ijkplayer播放rtsp直播流

    因为Android ijkplayer播放rtsp直播流在加载时延迟在5-10秒实在难以接受,再修改后解决了延迟问题,目前已达到2秒甚至秒开的效果 添加的方法:VideoOptionModel videoOptionMode0l = new VideoOptionModel(1, ...

    watch-stream

    观看流ls遇见tail -f var watcher = require ( 'watch-stream' )watcher ( process . cwd ( ) , opts ) . search ( / mp3 $ / ) //returns a stream! . on ( 'data' , console . log ) 包裹原料药观察者(root,opts...

    FFmpeg_05_输出码流参数

    在FFmpeg_05_输出码流参数这个主题中,我们主要关注的是如何通过FFmpeg库来控制和定制视频或音频编码输出的参数。这包括但不限于比特率、分辨率、帧率、编码格式等关键元素。 首先,我们需要理解码流的概念。码流是...

    基于c语言的从TS流中提取I帧

    在多媒体处理领域,TS(Transport Stream,传输流)是一种广泛应用于数字电视广播、卫星通信以及互联网视频传输的数据格式。TS流是由多个数据包组成的,每个数据包包含一定量的音视频数据。I帧,全称Intra-coded ...

    功能超强的网络流媒体地址嗅探工具__酷抓coojah_6.8.193.0614终结版

    +Add function of recording RTMP/RTMPE stream *New engine of RMTP analysis ----------------------------------------- 2010-05-29 刀锋下载5.0.322.0529 ----------------------------------------- *修正了...

    利用ffmpeg从USB摄像头获取视频并保存为H264的TS流的C语言源代码

    7. 添加输出流:调用`avformat_new_stream()`创建新的输出流,并将其与H264编码器关联。 8. 开始编码:设置编码参数,如帧率、分辨率等,然后用`avcodec_send_frame()`发送原始摄像头帧,再用`avcodec_receive_...

    stream-to-papertrail:将Stream日志发送到Papertrail进行安全保存

    流向Papertrail 将您的Stream记录发送到Papertrail进行安全保存。 贡献者: 标签: ,,,,,,[活动日志]( 日志),[活动日志]( 日志),[管理员操作]( 操作),,,[审核日志]( 日志) ),[审核日志]( 日志...

    parent_SpringCloud.zip

    SpringCloud Stream是一个强大的框架,用于构建微服务间的通信和数据流处理。在“parent_SpringCloud.zip”这个压缩包中,我们看到一个基于SpringCloud Stream的示例工程,该工程展示了如何利用SpringCloud Stream和...

    java 寻找最小数

    这里,`Arrays.stream(array)`将数组转换为一个整数流,`min()`方法返回流中的最小值,而`getAsInt()`则将其转换回`int`类型。 无论选择哪种方法,都需要确保数组已初始化且不为空,否则可能会引发异常。在实际...

    FFmpeg Basics.pdf.tar.gz

    - RTMP推流:`ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream` - HLS切片:`ffmpeg -i input.mp4 -c:v libx264 -crf 18 -hls_time 10 -hls_list_size 0 output.m3u8` 8. 实时捕获与录制:...

    live555.zip_555.ChM_live555_live555开发文档

    主要用于实现Real Time Streaming Protocol (RTSP)、Real-Time Messaging Protocol (RTMP)以及Session Description Protocol (SDP)等网络协议,支持多种流媒体格式如MPEG-2 Transport Stream、H.264/AVC等。...

    treinaweb-java-stream-api:TreinaWeb的“ Java-Stream API”课程中产生的代码的存储库

    86928362361eabe3c7e309e3f2e05db609cbfbcc 课程1.3:与Stream API的首次联系8c3a295150e88b1268a671cd2e54789770631bf7 第2.4课:什么是lambda表达式? 850f9e88c647e140a05bbe0b923edaf0a359cffa 第

    SEMI E05 中文API

    - **专利声明**: SEMI E05的某些实现可能会涉及到使用受专利保护的技术,特别是与Stream 4相关的内容。用户在使用这些功能时需自行评估可能存在的专利侵权风险。 - **版本发布**: 本标准在2000年2月的出版周期中发布...

Global site tag (gtag.js) - Google Analytics