码迷,mamicode.com
首页 > Web开发 > 详细

nodejs

时间:2016-01-16 23:50:46      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:

几个重要概念,完全是自己的理解。

文件流操作。具体来讲就是用createReadStream来代替readFile,这样做的原因就是读文件时先要读入缓冲区buffer,如果文件过大那么需要的缓冲去也就很大,所以用stream 来代替 。stream大概的工作原理是分成小块,然后传输。

Stream: 单词意思是流的意思。

file=createReadStream(“path”);

创建一个createStream对象---》》》该对象用于读取文件---》》》该对象可以绑定的事件---》》》

---------------------------------------------------------

@@@事件

readable:党可以从流中读取数据时触发,具体不知道。

data:!!!重要 参数为存放了已读取的数据的缓冲区对象或字符串。当读取来自文件、客户端、服务器等对对象的新数据时触发。

end:  读取数据完成后触发,不会触发data 事件

error:你懂得。

close:读取数据对象关闭时触发。

@@@方法

read():读取数据;

setEncoding:编码方式;

src.pipe(dst):设置一个数据通道,将读取到的数据传输到另一个对象中;

-------------------------------------------------------

var file=require("fs");
var filestream=file.createReadStream(‘test.txt‘);
var out=file.createWriteStream("test2.txt");
//console.log(out);
filestream.on("data",function(data){
   //console.log(data.toString());
    out.write(data);
});

运行这段代码会将test2覆盖为test1;

思考如何解决?!!

 

 

 

file对象的方法:

pipe(),pipe表面意思是管道的意思。由于有时需要读写的文件非常大,不能全部读入内存,这样便可以createReadStream()来创造一个流式服务,然后再使用pipe()方法读出 pipe(res) 

src.pipe(dst) 可读流src 到输出可写流dst。

感觉一般是当复制来用的。

nodejs

标签:

原文地址:http://www.cnblogs.com/liuestc/p/5136582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!