- 所有Stream对象同时也是EventEmitter的实例,Stream对象常用的事件有
事件名 |
触发条件 |
data |
当有数据可读时触发 |
end |
没有数据可读时触发 |
error |
在读取或写入过程中发生错误时触发 |
finish |
所有数据已被写入到底层系统时触发 |
-
从流读取数据
读取数据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.
- 向流写数据
写数据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
程序执行完毕
写入完成
- 管道与链式流
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(Program Map Table)中的`stream_type`时,我们主要关注的是不同编码格式在传输流(Transport Stream, TS)或节目流(Program Stream, PS)中的标识方式。这些标识码对于解复用器来说至关重要,因为它们...
在编程领域,特别是在C#语言的应用中,序列化是一个重要的概念,它涉及到对象状态信息转换为字节流的过程,...以上内容是对“05.C# 知识回顾 - 序列化.pdf”文件中提及序列化相关知识点的详细解释,希望对你有所帮助。
PMT是数字电视广播系统中用于描述一个特定节目内所有流的映射表,它包含了该节目中所有ES(Elementary Stream)的相关信息,包括它们的PID(Packet Identifier)以及流类型(stream_type)。其中,`stream_type`字段...
├─05.自动化构建工具Grunt_默认任务,任务高效说明.avi ├─06.自动化构建工具Grunt_任务执行同步说明.avi ├─07.自动化构建工具Grunt_js语法检查.avi ├─09.自动化构建工具Grunt_实现watch监视任务实现自动打包...
SQS可读流 从 Amazon Simple Queue Service (AWS SQS) 队列创建可读 Node.JS 流。 默认情况下,它将永远等待队列中的项目,它会重试错误并适当... apiVersion : '2012-11-05' , region : 'us-east-1' , accessKeyId
学习流(stream)的概念和IO操作、文件的读写和传输。 掌握多线程编程、文件的操作和程序集的相关概念,学习反射和属性。 第二阶段教学内容安排(400课时) 课程名称 课程内容 培训目的 ASP.Net2.0、ADO...
9. **IO FAQ(05_IO_faq.avi)**:常见问题解答,可能涵盖异常处理、流的关闭、缓冲区大小选择等问题,帮助解决实际开发中遇到的问题。 10. **总结(10_总结.avi)**:最后的视频是对整个IO系列的回顾,总结关键...
因为Android ijkplayer播放rtsp直播流在加载时延迟在5-10秒实在难以接受,再修改后解决了延迟问题,目前已达到2秒甚至秒开的效果 添加的方法:VideoOptionModel videoOptionMode0l = new VideoOptionModel(1, ...
观看流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库来控制和定制视频或音频编码输出的参数。这包括但不限于比特率、分辨率、帧率、编码格式等关键元素。 首先,我们需要理解码流的概念。码流是...
在多媒体处理领域,TS(Transport Stream,传输流)是一种广泛应用于数字电视广播、卫星通信以及互联网视频传输的数据格式。TS流是由多个数据包组成的,每个数据包包含一定量的音视频数据。I帧,全称Intra-coded ...
+Add function of recording RTMP/RTMPE stream *New engine of RMTP analysis ----------------------------------------- 2010-05-29 刀锋下载5.0.322.0529 ----------------------------------------- *修正了...
7. 添加输出流:调用`avformat_new_stream()`创建新的输出流,并将其与H264编码器关联。 8. 开始编码:设置编码参数,如帧率、分辨率等,然后用`avcodec_send_frame()`发送原始摄像头帧,再用`avcodec_receive_...
流向Papertrail 将您的Stream记录发送到Papertrail进行安全保存。 贡献者: 标签: ,,,,,,[活动日志]( 日志),[活动日志]( 日志),[管理员操作]( 操作),,,[审核日志]( 日志) ),[审核日志]( 日志...
SpringCloud Stream是一个强大的框架,用于构建微服务间的通信和数据流处理。在“parent_SpringCloud.zip”这个压缩包中,我们看到一个基于SpringCloud Stream的示例工程,该工程展示了如何利用SpringCloud Stream和...
这里,`Arrays.stream(array)`将数组转换为一个整数流,`min()`方法返回流中的最小值,而`getAsInt()`则将其转换回`int`类型。 无论选择哪种方法,都需要确保数组已初始化且不为空,否则可能会引发异常。在实际...
- 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. 实时捕获与录制:...
主要用于实现Real Time Streaming Protocol (RTSP)、Real-Time Messaging Protocol (RTMP)以及Session Description Protocol (SDP)等网络协议,支持多种流媒体格式如MPEG-2 Transport Stream、H.264/AVC等。...
86928362361eabe3c7e309e3f2e05db609cbfbcc 课程1.3:与Stream API的首次联系8c3a295150e88b1268a671cd2e54789770631bf7 第2.4课:什么是lambda表达式? 850f9e88c647e140a05bbe0b923edaf0a359cffa 第
- **专利声明**: SEMI E05的某些实现可能会涉及到使用受专利保护的技术,特别是与Stream 4相关的内容。用户在使用这些功能时需自行评估可能存在的专利侵权风险。 - **版本发布**: 本标准在2000年2月的出版周期中发布...