node.js - node.js 寻找文件位置
问题描述
有人可以澄清 fs.readSync 中的“位置”参数的隐含动作是什么吗?
我需要能够找到文件位置。
多年来有关 Stackoverflow 的许多问题和好的答案都涉及使用“位置”参数。
从 node.js.org 文档中,关于“位置”的说明如下
position 是一个参数,指定从文件中的何处开始读取。如果 position 为空,则从当前文件位置读取数据,并更新文件位置。如果 position 是整数,则文件位置将保持不变。
我的问题是关于最后一句话...
如果 position 是整数,则文件位置将保持不变。
“位置”是否会导致寻求该位置,还是因为我的阅读表明它不再是有意义的论点而忽略了论点?
我希望这只是糟糕的文档编写,它实际上实现了搜索。
谢谢
更新:仍然困惑:
根据 Mat 的评论,我认为我理解通过使用“位置”作为非 NULL,将首先执行“搜索”,然后在搜索产生的新文件位置执行“读取”。
我的困惑和问题是基于我现在得到的错误。
首先假设我已经从文件中进行了多次读取——然后是这些语句
const buf = Buffer.alloc(Bytes_to_read);
r = fs.readSync(fdR, buf, Wanted_Position_in_File, Bytes_to_read, 0);
我认为会发生的是文件指针将从文件的开头定位为“Wanted_Position_in_File”字节,我将从该文件中读取下一个数字“Bytes_to_read”字节。
我收到一条错误消息,指出 readSync 读取的字节数超过了分配的 buf 字节数。
请解开我的疑惑。
再次更新 - 弄明白了 - 谢谢
解决方案
推荐阅读
- python - 追加数据框以将新数据添加到现有列
- google-app-engine - 将 AppEngine 从 golang 1.9 升级到 1.12 后连接到 GCP Datastore 的问题
- r - 掷三个骰子的排列测试,边以二进制方式标记
- javascript - javascript runat 服务器箭头功能不起作用
- javascript - 媒体流未显示在浏览器中,尽管浏览器似乎访问了摄像头
- c - 在函数外访问结构数组
- mysql - MySQL对主键强制过滤使查询更快
- mongodb - 数据聚合中的 Mongodb $lookup - localField 属性字符问题
- r - 基于另一个数据表的单元格选择子集数据表
- php - 为什么 Laravel 实例化一个类来获取一个属性,而不是将该属性设置为静态?