1.node单线程的理解
单线程指处理javascript的现成只有一个,但是I/O进程有多个。
2.Buffer
2.1 Buffer:Node在启动进程时就已加载,并挂载在全局,故可直接使用。
2.2 正确的Buffer拼接:
const fs=require('fs');
const iconv=require('iconv-little'); // 纯js库,轻量、无需编译和处理依赖环境直接使用
let chunks=[]; // 读取数据段的存储
let size=0; // 读取数字的总字符长度
let res=fs.createReadStream('文件路径',{highWaterMark:11}); // 每11个字符读取一次数据
res.on('data',function(chunk){
chunks.push(chunk);
siaze+=chunk.length;
});
res.on('end',function(){
const buf=Buffer.concat(chunks,size); // 使用Buffer内置的链接方法进行拼接
const str=iconv.decode(buf,'utf8'); // 最终得到的字符结果,字符串转Buffer
})
网友评论