【问题标题】:can anyone explain arguments of these functions?谁能解释这些函数的参数?
【发布时间】:2017-07-14 23:50:22
【问题描述】:

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

我对没有提供太多解释的 NodeJs 文档感到头疼。

特别想知道

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

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

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

我猜这个是一样的。

谁能给我解释一下? 谢谢

【问题讨论】:

  • Node.js 文件系统文档应该有你需要的一切:nodejs.org/api/fs.html
  • @Sam。我已经在那里查过了。只是列出它们,没有解释和示例。

标签: node.js buffer fs


【解决方案1】:
  • 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 应该将您的示例放在他们的文档中。很好的例子,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多