首页 > 解决方案 > 将文件读入 Node.js 中的特定内存块

问题描述

您可以让 Node.js 以某种方式将文件作为二进制文件读取到特定的内存槽中吗?

let buffer = new Uint8Array
let location = 0
let path = 'foo.binary'
fs.readIntoMemoryLocation(path, buffer, location)

这样的事情可能吗?

我想知道,因为我有一堆东西要在一个数组缓冲区中处理,并且想向它添加一个文件,而不是文件是它自己的缓冲区。无需将文件从一个地方复制到另一个地方。如果不在 Node.js 中,那么浏览器会以某种方式出现吗?

标签: javascriptnode.jsmemoryfs

解决方案


您可以让 Node.js 以某种方式将文件作为二进制文件读取到特定的内存槽中吗?

是的,fileHandle.read()fs.read()接口都允许您将缓冲区和偏移量传递到您希望它读取数据的缓冲区中。

fs.readFile()接口不提供,因此您必须自己打开文件并将数据自己读入缓冲区,然后关闭文件。如果您统计文件以查看它有多大,您仍然可以通过一次读取操作将整个文件读入缓冲区。


推荐阅读