2016-11-14 4 views
2

node.jsのファイルの特定の位置から読み込むストリームを作成できますか?ファイルの特定位置のfs.createReadStream()

私はより伝統的なfs.open/seek/read APIを使用することができますが、その場合はアプリケーションの基底レイヤーのストリームに何らかの形でラップする必要があります。

答えて

4

fs.createReadStream()には、ストリームの開始位置を指定するためのオプションがあります。

あなたはまた、右のあなたは、ストリームは、 fs.read()に位置引数を使用して配置されるようにして、あなたにそのファイル記述子を渡すことができますしたい場所の前の位置から fs.read()、その後、 fs.open()で1つのバイトを通常のファイルディスクリプタを開くことができ
let f = fs.createReadStream("myfile.txt", {start: 1000}); 

fs.createReadStream()をオプションとして使用し、ストリームはそのファイル記述子と位置で開始します(startのオプションはfs.createReadStream()ですが、少し簡単です)。

+0

理論的に私はそれを使用して特定の位置からオーディオファイルをストリーミングできますか? – cheesyeyes

+1

@cheesyeyes - それは異なります。 [audio-streaming protocol](http://www.garymcgath.com/streamingprotocols.html)を探しているなら、node.jsストリームはそれだけではありません。あるファイルから特定のバイトのセットを配信するだけの場合は、node.jsストリームがそれを行うことができます。 – jfriend00

関連する問題