Node.js的Buffer写入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js的Buffer写入相关的知识,希望对你有一定的参考价值。
参考技术A Buffer写入的语法如下:buf.write(string[,offset[,length]][,encoding])
即根据encoding的字符编码写入string到buf中的offset位置。length参数是写入的字节数。如果buf没有足够的空间保存整个字符串,就只会写入string的一部分。只部分解码的字符不会被写入。该方法返回实际写入的大小。参数含义如下:
● String:写入的字符串。
● Offset:开始写入的索引值,默认为0。
● Length:写入的字节数,默认为buffer.length。
● Encoding:使用的编码,默认为"utf8"。
Node.js 文件系统------------读取文件
fs.read(fd, buffer, offset, length, position, callback)
参数使用说明如下:
-
fd - 通过 fs.open() 方法返回的文件描述符。
-
buffer - 数据写入的缓冲区。
-
offset - 缓冲区写入的写入偏移量。
-
length - 要从文件中读取的字节数。
-
position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
-
callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。
input.txt内容
1 123456789
1 var fs =require(‘fs‘); 2 var buf =new Buffer(8); 3 4 console.log("准备打开已存在的文件!"); 5 6 fs.open(‘./input.txt‘,‘r+‘,function(err,fd){ 7 if(err){ 8 return console.error(err); 9 } 10 console.log("文件打开成功"); 11 console.log("准备读取文件。"); 12 13 fs.read(fd,buf,2,buf.length-2,2,function(err,bytes){ //此处的2是针对input.txt的位置来说的 14 console.log(buf.length); 15 if(err){ 16 console.log(err); 17 } 18 console.log(bytes +" 字节被读取"); 19 if(bytes>0){ 20 console.log(buf.slice(0,bytes+2).toString()); // 此处的0 是针对 缓冲区的位置来说的 21 } 22 }) 23 24 fs.close(fd,function(err){ 25 if(err){ 26 console.log(err); 27 } 28 console.log("文件关闭成功"); 29 }) 30 })
注意前面的两个空格
当 console.log(buf.slice(0,bytes+2).toString()); 中的 0 取 2 时,结果是
本文练习来自 https://www.runoob.com/nodejs/nodejs-fs.html
以上是关于Node.js的Buffer写入的主要内容,如果未能解决你的问题,请参考以下文章