fs模块-fs.readv的使用方法
2021-03-05 本文已影响0人
静昕妈妈芦培培
fs.readv(fd, buffers[, position], callback)
#
-
fd
<integer> -
buffers
<ArrayBufferView[]> -
position
<integer> -
callback
<Function>-
err
<Error> -
bytesRead
<integer> -
buffers
<ArrayBufferView[]>
-
使用readv()从fd指定的文件读取并写入ArrayBufferViews数组。
ArrayBufferViews数组,也就是一个数组,数组中的每一个元素都是一个buffer对象,用来存储读取到的数据,即,把读取到的字节,挨个存储到数组中的每一个buffer对象中
位置是从文件开头开始读取数据的偏移量。如果position
不是数字,将从当前位置读取数据。
回调将有三个参数:err、bytesRead和buffers。
bytesRead是从文件中读取的字节数。
例:
const fs = require('fs')
fs.open('./a.text', 'r+', (err, fd) => {
if(err) {
console.error(err)
return
}
//创建一个每个元素都是buffer对象的数组用来储存读取到的内容
const buffersArray = [Buffer.alloc(3), Buffer.alloc(3), Buffer.alloc(3)]
fs.readv(fd, buffersArray, 2, (err, bytesRead, buffers) => {
console.log('读取到的字节数:' + bytesRead)
console.log(buffers)
console.log(buffersArray)
})
})
执行结果:
image.png
fs.readvSync(fd, buffers[, position])
#
-
fd
<integer> -
buffers
<ArrayBufferView[]> -
position
<integer> - Returns: <number> The number of bytes read.