BUFFER(缓存区)
初始buffer
- buffer的结构和数组很相似,操作方法也很相似。
- buffer可以存储任何类型的数据(包括二进制文件与文本文件)。
- 比传统的二进制性能高。
- 通过十六进制显示。
基本概念
- 基本存储单位:字节(Byte),一个汉字占用3个字节,一个英文占用1个自己。
- 最小存储单元:(bit)1Byte=8bit
创建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);
//这句话表示上面的一片
网友评论