谁能解释这些函数的参数?
can anyone explain arguments of these functions?
我正在使用 NodeJs 并尝试写入和读取二进制文件。
我对没有提供太多解释的 NodeJs 文档感到头疼。
特别想知道
fs.writeSync(fd, buffer, offset, length, position)
我知道 'fd' 和 'buffer',但与 'offset' 和 'position' 混淆。
fs.readSync(fd, buffer, offset, length, position)
我猜这个也是一样的。
谁能给我解释一下吗?
谢谢
offset
是您开始读取输入缓冲区的起始位置(因此,offset
+ length
应该等于或小于缓冲区的大小)
position
是开始写输出的起始位置
以下愚蠢的例子将向您展示它是如何工作的:
const fs = require('fs')
var fd = fs.openSync("test.txt", "w")
var buf = Buffer.alloc(5, 'abcde')
fs.writeSync(fd, buf, 0, buf.length, 0)
// buffer's elements [0-4] are written to file's position 0
// test.txt holds 'abcde'
buf = Buffer.alloc(5, 'fghij')
fs.writeSync(fd, buf, 2, buf.length - 2, 2)
// buffer's elements [2-4] are written to file's position 2
// test.txt holds 'abhij'
我正在使用 NodeJs 并尝试写入和读取二进制文件。
我对没有提供太多解释的 NodeJs 文档感到头疼。
特别想知道
fs.writeSync(fd, buffer, offset, length, position)
我知道 'fd' 和 'buffer',但与 'offset' 和 'position' 混淆。
fs.readSync(fd, buffer, offset, length, position)
我猜这个也是一样的。
谁能给我解释一下吗? 谢谢
offset
是您开始读取输入缓冲区的起始位置(因此,offset
+length
应该等于或小于缓冲区的大小)position
是开始写输出的起始位置
以下愚蠢的例子将向您展示它是如何工作的:
const fs = require('fs')
var fd = fs.openSync("test.txt", "w")
var buf = Buffer.alloc(5, 'abcde')
fs.writeSync(fd, buf, 0, buf.length, 0)
// buffer's elements [0-4] are written to file's position 0
// test.txt holds 'abcde'
buf = Buffer.alloc(5, 'fghij')
fs.writeSync(fd, buf, 2, buf.length - 2, 2)
// buffer's elements [2-4] are written to file's position 2
// test.txt holds 'abhij'