美文网首页程序员
NodeJs的Buffer缓存与流式操作

NodeJs的Buffer缓存与流式操作

作者: 爱写Bug的程序猿 | 来源:发表于2019-03-09 21:55 被阅读2次

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);
//这句话表示上面的一片

相关文章

  • NodeJs的Buffer缓存与流式操作

    BUFFER(缓存区) 初始buffer buffer的结构和数组很相似,操作方法也很相似。 buffer可以存储...

  • 自定义Buffer之split方法

    Buffer 让 JavaScript 可以操作二进制 Buffer是Nodejs的核心组成部分,在Nodejs中...

  • Nodejs Buffer

    Buffer用于存储原始数据,可以让Nodejs处理二进制数据。Nodejs中处理I/O操作就可能用到Buffer...

  • Buffer

    Buffer结构 背景  js语言没有读取或操作二进制数据流的机制,Buffer类被引入作为Nodejs API的...

  • Node js 读写文件

    官方文档: http://nodejs.cn/api/ nodejs Buffer Buffer 这个核心模块在使...

  • [读] NodeJS stream 一:Buffer

    NodeJS stream 一:Buffer

  • RxSwift 核心-Operator-操作符

    关键字作用变换操作符(Transforming Observables)buffer该方法简单来说就是缓存 Obs...

  • Linux----buffer和cache的区别

    buffer和cache都有缓存之意,但是在谷歌翻译中buffer只是缓存,而cache的意思是高速缓存!谷歌搜索...

  • 一张图理解buffer与cache的区别

    ❶ 首先buffer(缓冲区)与cache(缓存区)都是内存的一块区域❷ buffer是将多个待写入磁盘的数据在此...

  • Buffer和Cache的区别

    Buffer和Cache的区别 buffer与cache操作的对象就不一样。 buffer(缓冲)是为了提高内存和...

网友评论

    本文标题:NodeJs的Buffer缓存与流式操作

    本文链接:https://www.haomeiwen.com/subject/efzepqtx.html