任何人都可以解释这些function的论点?

我正在使用NodeJs并尝试写入和读取二进制文件。

我用NodeJs文档头痛,没有提供太多的解释。

特别是我想知道

fs.writeSync(fd, buffer, offset, length, position) 

我知道'fd'和'buffer',但是与​​'offset'和'position'混淆了。

 fs.readSync(fd, buffer, offset, length, position) 

我猜这个是一样的

可以有人向我解释吗? 谢谢

  • offset是开始读取input缓冲区的起始位置(因此, 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'