程序员

NodeJs的Buffer缓存与流式操作

2019-03-09  本文已影响2人  爱写Bug的程序猿

BUFFER(缓存区)

初始buffer

基本概念

创建buffer

数据转换

let str = "Hello World";

let buf = Buffer.from(str);
//将字符串转换为buffer
let str2 = buf.toString();//hello world
//将buf转换为字符串

创建指定大小的buffer

let buf = new Buffer(10);
console.log(buf.length);//10
//nodejs中不建议使用new Buffer

let buf2 = Buffer.alloc(10);
//创建空间并且清空为0
console.log(buf2.length);//10
//buffer大小确定后不能修改,因为他直接操作底层内存
console.log(buf2[0].toString(16));
//转为十六进制输出

let Buf3 = Buffer.allocUnsafe(10);
//创建空间但不清空buffer

流式读取文件

let fs = require("fs");

//创建可读流
let readF = fs.createReadStream("文件路径");
//创建可写流
let writeF = fs.createWriteStream("文件路径2");
readF.on("data",function(data){
   writeF.write(data);
   //写入可写流
});

readF.once("close",function(){
//监听可读流关闭
    writeF.end();
    //关闭可写流
});
//上面的方法太麻烦了所以。。。
readF.pipe(writeF);
//这句话表示上面的一片
上一篇下一篇

猜你喜欢

热点阅读