fs.read(fd, buffer, offset, length, position, callback)##
从 fd
指定的文件中读取数据。
buffer
是数据(从 fd 读取)要被写入的 buffer。
offset
是 buffer 中开始写入的偏移量。
length
是整数,指定要读取的字节数。
position
参数指定从文件中开始读取的位置。 如果 position
为 null
,则从当前文件位置读取数据,并更新文件位置。 如果 position
是整数,则文件位置会保持不变。
回调有三个参数 (err, bytesRead, buffer)
。
如果文件没有被同时地修改,则当读取的字节数为零时,即到达文件的末尾。
如果调用此方法的 util.promisify()
版本,则返回 Promise
(会传入具有 bytesRead
属性和 buffer
属性的 Object
)。
例1:
const fs = require('fs')
//第一步:打开a.text
fs.open('./a.text', 'r+', (err, fd) => { //flags: 'r+' 打开文件用于读写,修改文件时使用
if(err) {
console.error(err)
return
}
console.log('成功了打开了a.text文件,文件修饰符为' + fd)
//第二步:读取文件
//创建一个buffer类型的变量content来存储读取到的数据
const content = Buffer.alloc(6)
console.log(content)
fs.read(fd, content, 0, 6, 24, (err,bytesRead, buffer) => {
if(err) {
console.error(err)
return
}
console.log(`读取到的字节数:` + bytesRead)
//buff和字符串通过'+'拼接,会被转换为字符串,再去拼接
console.log('读取到的数据是:' + buffer)
console.log(content)
console.log('读取成功')
})
})
执行结果:
image.png
解析:
image.png
fs.read(fd, [options,] callback)##
-
fd
<integer> -
options
<Object>-
buffer
<Buffer> | <TypedArray> | <DataView> Default:Buffer.alloc(16384)
-
offset
<integer> Default:0
-
length
<integer> Default:buffer.length
-
position
<integer> Default:null
-
-
callback
<Function>
还可以把buffer,offset,length,position这四个选项单独写到一个对象里,效果一样
网友评论