【问题标题】:fs.createReadStream() at specific position of filefs.createReadStream() 在文件的特定位置
【发布时间】:2016-11-14 01:43:48
【问题描述】:

是否可以创建从 node.js 中文件的特定位置读取的流?

我知道我可以使用更传统的 fs.open / seek / read API,但在这种情况下,我需要以某种方式将它们包装在我应用程序底层的流中。

【问题讨论】:

    标签: node.js seek random-access


    【解决方案1】:

    fs.createReadStream() 有一个选项,您可以通过它来指定流的开始位置。

    let f = fs.createReadStream("myfile.txt", {start: 1000});
    

    您也可以使用fs.open() 打开一个普通文件描述符,然后使用fs.read() 的位置参数从您希望流定位的位置之前的一个字节开始fs.read(),然后您可以传递该文件描述符到fs.createReadStream() 作为一个选项,并且流将从该文件描述符和位置开始(尽管显然fs.createReadStream()start 选项更简单一些)。

    【讨论】:

    • 理论上我可以用它从特定位置开始流式传输音频文件,对吧?
    • @cheesyeyes - 这取决于。如果您正在寻找 audio-streaming protocol,那么 node.js 流本身并不是全部。如果您只想从文件中传递特定的字节集,那么 node.js 流可以做到这一点。
    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2013-10-18
    相关资源
    最近更新 更多