如何知道 Node.js 中的文件位置?- lseek 的返回值

Dan*_*cci 8 javascript node.js

读取fs.readfs.write,似乎在 Node.js 中没有直接暴露C 函数lseek 的接口;当前文件描述符位置可以在 any 之前fs.readfs.write通过参数更改position

我强烈怀疑,在低级别,参数positionlseek在读取或写入操作之前通过调用处理的,但是 的返回值lseek呢?

更具体地说,要获取 C 中的当前文件描述符位置,我可以这样写:

int position = lseek(fd, 0, SEEK_CUR);
Run Code Online (Sandbox Code Playgroud)

Node.js 有没有办法获得相同的信息?

x00*_*x00 3

似乎没有“本地”方法可以做到这一点。大概是因为

在同一个文件上多次使用 fs.write***()而不等待回调是不安全的。

getCurrentPosition对于缓冲IO之类的东西来说更是如此。在调用回调之后write***或之前它应该返回什么?read***

但您可以尝试借助bytesRead和自行跟踪当前位置bytesWritten。在流的情况下,有chunk.length,但不要忘记在字符串的情况下的编码。


作为旁注......你写道:

考虑新功能我认为这可能是有用的信息

如果没有人要求它,并且你自己也不确定它可以用来做什么,那么我认为运用 YAGNI 原则是一个好主意。