私は Java で URL クラスを使用しており、特定の場所に到達するのに多くの時間がかかる skip() 関数を使用する代わりに、ストリーム内の特定のバイト位置から入力ストリームを介してバイトを読み取りたいと考えています。
質問する
302 次
3 に答える
0
ストリームの性質上、開始したい特定の場所に到達するには、すべてのデータを読み取る必要があります。skip()
残念ながら、より速くなることはありません。
于 2013-04-02T11:52:54.513 に答える
0
それは不可能だと思いますが、その理由は次のとおりです。GETリクエストを送信すると、リモートサーバーは、100から200までのバイトに関心があることを認識しません-完全なドキュメント/ファイルを送信します. したがって、それらを読み取る必要がありますが、それらを処理する必要はありません-それがスキップが遅い理由です。
しかし、サーバーに100バイト以上のファイルが必要であることをサーバーに伝えることができると確信しています(サポートしているものもあれば、サポートしていないものもあります)。
また、スキップの仕組みについて詳しく知るには、これを参照してください: InputStream の skip() メソッドはどのように機能しますか?
于 2013-04-02T11:53:07.393 に答える